• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dedecms织梦图集每张图片单独调用并自定义样式的
    POST TIME:2017-11-12 23:36
    在织梦的开发中,我们有时候需要对图集中的每张图片单独输出并自定义样式,如果用织梦的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 = "<strong>{@me['autoindex']} - <img src='{@me['imgsrc']}'></strong>\n";
    		}
    		elseif(@me['autoindex'] == 2)
    		{
    			@me = "<p>{@me['autoindex']} - <img src='{@me['imgsrc']}'></p>\n";
    		}
    		elseif(@me['autoindex'] == 3)
    		{
    			@me = "<span>{@me['autoindex']} - <img src='{@me['imgsrc']}'></span>\n";
    		}
    		else
    		{
    			@me = "<div>{@me['autoindex']} - <img src='{@me['imgsrc']}'></div>\n";
    		}
    	[/field:array]
    {/dede:productimagelist}


    用array runphp的方式,让第一张图片两边加<strong>,第二章加<p>,第三张加<span>,第四张加<div>

    方法2:找到:\include\taglib\productimagelist.lib.php 这个文件,在文件中找到如下内容:

    $ctp->LoadSource($innerText);

    在此代码下边添加如下代码:

    $GLOBALS['autoindex'] = 0;

    找到:

    $revalue .= $ctp->GetResult();

    在下面加入如下代码:

    $GLOBALS['autoindex']++;


    此方法的原理其实和方法1的是一样的。首先让productimagelist.php 这个文件支持autoindex,然后再通过判断autoindex的值分别调用。比如autoindex为0的时候就调用第一张图,依次类推,写法不多说了,有喜欢研究的朋友可以分别验证这两种方法。

    
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!