muban大师 发表于 2020-6-11 10:47:13

dedecms织梦图集每张图片单独调用并自定义样式的办法

在织梦的开发中,我们有时候需要对图集中的每张图片单独输出并自定义样式,如果用织梦的dede:productimagelist调用,还是有一定难度的。
       
        下面我们可以对这个类文件进行修改解决这个问题:
       
        方法1:找到:\include\taglib\productimagelist.lib.php这个文件,在文件中找到如下内容:
       
        foreach($images as $row)
        {
        中间省略...
        }
       
        修改为:
       
        $GLOBALS['autoindex', = 1;
        foreach($images as $row)
        {
        $row['autoindex', =$GLOBALS['autoindex',;
        foreach($ctp->CTags as $tagid=>$ctag)
        {
        if($ctag->GetName()=='array')
        {
        $ctp->Assign($tagid,$row);
        }
        else
        {
        if(isset($row[$ctag->GetName()])){ $ctp->Assign($tagid,$row[$ctag->GetName()]); }
        }
        }
        $revalue .= $ctp->GetResult();
        $GLOBALS['autoindex',++;
        }
       
        内容页图集标签调用方法为:
       
        {dede:productimagelist}
        [field:array runphp=yes,
        if(@me['autoindex', == 1)
        {
        @me = "{@me['autoindex',} -
{@me[
\n";
        }
        elseif(@me['autoindex', == 2)
        {
        @me = "{@me['autoindex',} -
{@me[
\n";
        }
        elseif(@me['autoindex', == 3)
        {
        @me = "{@me['autoindex',} -
{@me[
\n";
        }
        else
        {
        @me = "{@me['autoindex',} -
{@me[
\n";
        }
        [/field:array,
        {/dede:productimagelist}
       
        用array runphp的方式,让第一张图片两边加,第二章加,第三张加,第四张加
       
        方法2:找到:\include\taglib\productimagelist.lib.php这个文件,在文件中找到如下内容:
       
        $GLOBALS['autoindex', = 0;
       
        在此代码下边添加如下代码:
       
       
        找到:
       
        $revalue .= $ctp->GetResult();
       
        在下面加入如下代码:
       
        $GLOBALS['autoindex',++;
       
        此方法的原理其实和方法1的是一样的。首先让productimagelist.php 这个文件支持autoindex,然后再通过判断autoindex的值分别调用。比如autoindex为0的时候就调用第一张图,依次类推,写法不多说了,有喜欢研究的朋友可以分别验证这两种方法。
页: [1]
查看完整版本: dedecms织梦图集每张图片单独调用并自定义样式的办法