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   =   "

$alt
" ;
               }
else {
               
// 分页显示
                    if ( $pagestyle == 2 ) {
                   
if (( $i   %   $GLOBALS [ ' cfg_img_pagesize ' ]) == 0 )
                   
$revalue   .=   " #p#分页标题#e#

$alt
" ;
                   
else   $revalue   .=   "

$alt
" ;
                   }
               
// 单页显示       
                    if ( $pagestyle == 1 $revalue   .=   "

$alt
" ;
               }
            
$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添加全局变量,我的一般方法是直接修改这个文件,但是后台管理的系统设置里面,也可以生成这个文件,如果你修改了文件,然后再到后台生成,生成的文件就会覆盖你修改的内容,因此我建议,如果你一直直接修改这个文件,就不要到后台生成,如果你对代码不熟悉,又需要修改这个文件,建议你到后台自定义添加全局变量。

 

你可能感兴趣的:(php开源技术)