dedecms實現圖集內容自定義分頁

dedecms中有圖集的功能, 對於圖集的顯示,可定義“單頁”、“分多頁顯示”、“多行多列顯示”,其中分多頁系統默認是每個頁面顯示一張圖片,但是在實際使用中,我們有可能需要一個頁面顯示多張圖片,下面就是實現方法。

第一步:修改include/inc_channel_unit.php文件

找到函數function GetImgLinks()

找到和下面代碼類似的部分,修改代碼爲:

    //遍歷圖片信息
    $mrow = 0;
    
$mcol = 0;
    
$photoid = 0;
    
$images = array();
    
$i=0;
    
foreach($dtp->CTags as $ctag){
        
if($ctag->GetName()=="img"){
            
$iw = $ctag->GetAtt('width');
            
$ih = $ctag->GetAtt('heigth');
            
$alt = str_replace("'","",$ctag->GetAtt('text'));
            
$src = trim($ctag->GetInnerText());
            
if($iw > $maxwidth$iw = $maxwidth;
            
$iw = (empty($iw? "" : "width='$iw'");
            
//全部列出式或分頁式圖集
            if($pagestyle<3){
               
if($revalue==""){
                   
$revalue = "<center><a href='$src' target='_blank'><img src='$src' alt='$alt' $iw border='0'/></a><br/>$alt<br/></center> ";
               }
else{
               
//分頁顯示
                   if($pagestyle==2) {
                   
if(($i % $GLOBALS['cfg_img_pagesize'])==0)
                   
$revalue .= "#p#分頁標題#e#<center><a href='$src' target='_blank'><img src='$src' alt='$alt' $iw border='0'/></a><br/>$alt<br/></center> ";
                   
else $revalue .= "<center><a href='$src' target='_blank'><img src='$src' alt='$alt' $iw border='0'/></a><br/>$alt<br/></center> ";
                   }
               
//單頁顯示       
                   if($pagestyle==1$revalue .= "<center><a href='$src' target='_blank'><img src='$src' alt='$alt' $iw border='0'/></a><br/>$alt<br/></center> ";
               }
            
$i++;
            
//多列式圖集
            }else if($pagestyle==3){
                
$images[$photoid][0= $src;
                
$images[$photoid][1= $alt;
                
$photoid++;
            }
      }
    }

其中的關鍵部分爲($i % $GLOBALS['cfg_img_pagesize'])==0,意思是當計數用的變量i和全局變量cfg_img_pagesize相除,餘數爲0的時候,產生分頁。

第二步:定義分頁尺寸的全局變量,當然你也可以直接用數字替換上文的$GLOBALS['cfg_img_pagesize'],達到分頁的目的。

修改include/config_hand.php,添加變量:

//圖片集分頁大小設置
$cfg_img_pagesize = '5';

變量的值根據需要自定義。

好了,通過上面的修改就可以實現本文開始說的目標。具體道理自己想吧,不解釋了。

注:上文我提到過修改/include/config_hand.php添加全局變量,我的一般方法是直接修改這個文件,但是後臺管理的系統設置裏面,也可以生成這個文件,如果你修改了文件,然後再到後臺生成,生成的文件就會覆蓋你修改的內容,因此我建議,如果你一直直接修改這個文件,就不要到後臺生成,如果你對代碼不熟悉,又需要修改這個文件,建議你到後臺自定義添加全局變量。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章