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

2017-07-27dedecms开发
560

在织梦的开发中,我们有时候需要对图集中的每张图片单独输出并自定义样式,如果用织梦的wmd: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']++;
}

内容页图集标签调用方法为:

{wmd: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]
{/wmd: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的时候就调用第一张图,依次类推,写法不多说了,有喜欢研究的朋友可以分别验证这两种方法。

The End

相关推荐

织梦cms批量删除所有无效TAGS的办法
使用过DedeCMS的站长应当都遇到过这样的问题,在我们删掉一些文章内容后,tags标识中就慢慢拥有许多失效的标识存有,这种TAGS标识并不会跟随大家删掉文章内容一起删掉,如果是受欢迎的词还行,有很多文章内容都是有,如果是小众词,便会发生在TAGS目录有词,...
2023-08-17 dedecms开发
181

怎么修改织梦DEDECMS源码tags标签字数限制
修改织梦DEDECMS中TAG标签字数长度限制的方法共两个步骤,分别是对数据库字数和提交文件的字数进行修改。 一、我们通过织梦DEDECMS后台程序中的系统设置栏目下的SQL命令行工具,来修改数据库中表wmd_tagindex 和wmd_taglist的tag字段属性,将TAG字段属性中...
2023-02-16 dedecms开发
196

织梦dedecms列表页实现第一页与其他页调用不同模板的办法
我们想让dedecms织梦第一页与其他第二页、第三页、、、后面的页调用的不同模板,这个要怎么实现呢? 第一步 修改核心文件 打开 /include/arc.listview.class.php 找到,大概在第330行 $this-ParseDMFields($this-PageNo,1); 在它的上面加入: $tempfile = $GL...
2022-11-19 dedecms开发
195

织梦dedecms调用当前栏目文章数的方法
这篇文章给大家分享的是有关织梦dedecms调用当前栏目文章数的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 做模板时,经常需要为每个栏目加上此栏目的文章数。和大家分享下实现的方法,此方法适合5.6及5.7、5.7sp1其它...
2022-11-05 dedecms开发
186

dedecms织梦无需登录注册可下单购买的修改
dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)...
2022-11-02 dedecms开发
171

DEDECMS织梦复制https链接网站图片无法本地化的解决办法
现在许多网站使用了SSL技术,网站采用https链接,我们在复制https链接网站的内容,发现图片无法本地化,那么我们想要将这些图片本地化,要怎么操作呢? 第一步: 找到dede/inc/inc_archives_functions.php (注:前边红色的dede目录是您的后台目录) 定位到...
2022-06-15 dedecms开发
125