欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

织梦DedeCms的图集imgurls标签实现数字自增效果

shiping1 的头像

{dede:field name='imgurls'}的标签库文件 是 include/taglib/channel/img.lib.php

 

织梦DedeCms的图集imgurls标签中实现数字自增效果

{dede:field name='imgurls' alt='图片输出区'}<div class="递增">[field:imgsrc/]</div>{/dede:field} 

下面结果: 
<div class="0">/xxx/xxx.jpg</div> 
<div class="1">/xxx/xxx.jpg</div> 
<div class="2">/xxx/xxx.jpg</div> 
<div class="3">/xxx/xxx.jpg</div> 
<div class="4">/xxx/xxx.jpg</div> 
这个递增的标签是什么?   
我在网站搜索了下没有这个教程。 [field:global.autoindex/] 和其他递增标签没有作用。 
谁帮忙下???? 


以上是发布在织梦官方论坛的问题求解,我也稍微测试了一下,在这个标签内确实无法应用[field:global.autoindex/] ,找到相关的文件看了一下,以设置了默认的$GLOBAL['photoid'] = 0;不过即使用这个 [field:global.photoid/] 也是不行的。 

首先这个{dede:field name='imgurls' alt='图片输出区'}标签必须在发布图集的时候选择单页多图样式,才能够输出所设置的图片数。其实这个标签还不如下面这个标签呢,不过productimagelist也不支持自增函数,但是也可以通过修改实现
 

{dede:productimagelist}
<a href="[field:imgsrc/]" title="[field:text/]"><img src="[field:imgsrc/]" /></a>
{/dede:productimagelist}

不过既然提出了imgurls标签的这个问题,自然也是有解决办法的。 

1)打开 include\taglib\channel\img.lib.php,找到, 

$fields['text'] = str_replace("'","",$ctag->GetAtt('text'));
$fields['title'] = $title;
$fields['imgsrc'] = trim($ctag->GetInnerText());
$fields['imgsrctrue'] = $fields['imgsrc'];

在其下添加,

$fields['photoid'] = $GLOBAL['photoid']+1;

2)最后在模板中就可以用 [field:photoid/] (切记不是[field:global.autoindex/])来实现数字递增了。是从索引从1开始

来自  http://www.zhimengba.com/jsjc/327.html

普通分类: