最近重拾织梦就是dede,可能是实力强了些,发现其内置标签有一些稍稍不完善地方,那我就简单的将其标签优化一下,arclist标签是织梦标签中最常用到的标签。但是他有几个地方不是很方便,比如他调文章,如果调取缩略图,如果这篇文章没有标题图片,会被一个默认图片替换。但是很多时候我们不希望这样,随意如果可以控制调取带有图片的文章就好了。
所以,我就做了这样一个功能,详情可以看:将织梦的dede:arclist增加选择读取有无标题图片文章的功能,还增加了一个底层标签获取当前是第几次循环
今天主要讲另一个,我们经常遇到这样的情况:
上方的这个截图,首先文章前方有个排序,这个序号是class来控制的,所以我们需要一个标签来控制这个地方的class,而且第一个显示图片,下方的不显示,也是class控制的,当然这个可以通过两次arclist标签来调,而且也可以用多次调用来实现排序,但是不得不说这样很不好,不符合我们程序员的“懒惰”精神。所以,我们可以通过修改一下这个标签库,我们给他增加一个参数,这个参数的值为当前的第几次循环。这样就可以实现这个功能了。而且我们可以可以通过判断当前是否为第一次循环,而让他的图片显示。
类库修改为:找到/include/taglib/arclist.lib.php这个标签库文件。
找到$row['filename'] = $row['arcurl'],大约在第495行,这个地方就是定义了所有可调用的arclist的底层模板参数,我们在其前方增加一个$row['key'] = $i+1;$i循环就是当前的循环,这样我们就定义了一个底层变量为key,并且他的值就是当前的循环次数!
如何使用,可以看一下我这个地方的代码示例:
1 2 3 |
{dede:arclist typeid='627' row='6' titlelen='40' ispic='1'} <li class="wsyw[field:key/] [field:key runphp='yes']if(2>@me){@me='wsyw_style';}else{@me='';}[/field:key]"><a href="[field:arcurl/]" class="wsyw_a" title="[field:fulltitle/]">[field:title/]</a><a href="[field:arcurl/]"><img src="[field:picname/]" width="234" height="48" alt="[field:fulltitle/]"></a></li> {/dede:arclist} |
效果为:查看源代码后:
1 2 3 4 5 6 |
<ul> <li class="wsyw1 wsyw_style"><a href="#" class="wsyw_a" title="卫生部:先看病后付费易福利过滥 不宜全面推行">卫生部:先看病后付费易福利过滥</a><a href="#"><img src="/uploads/130327/2-13032G51300I4-lp.jpg" width="234" height="48" alt="卫生部:先看病后付费易福利过滥 不宜全面推行"></a></li> <li class="wsyw2 "><a href="#" class="wsyw_a" title="医改办:力推跨省转移报销 减少异地就医人员">医改办:力推跨省转移报销 减少</a><a href="#"><img src="/uploads/130327/2-13032G429434E-lp.jpg" width="234" height="48" alt="医改办:力推跨省转移报销 减少异地就医人员"></a></li> <li class="wsyw3 "><a href="#" class="wsyw_a" title="国家卫生和计生委员会正式挂牌">国家卫生和计生委员会正式挂牌</a><a href="#"><img src="/uploads/130327/2-13032G40PR21-lp.jpg" width="234" height="48" alt="国家卫生和计生委员会正式挂牌"></a></li> <li class="wsyw4 "><a href="#" class="wsyw_a" title="中国•肺癌精彩手术大赛将在北京召开">中国•肺癌精彩手术大赛将在北京</a><a href="#"><img src="/uploads/130327/2-13032G403514C-lp.jpg" width="234" height="48" alt="中国•肺癌精彩手术大赛将在北京召开"></a></li> </ul> |
我们是通过wsyw[field:key]的值来控制前面的序号,通过[field:key runphp='yes']if(2>@me){@me=’wsyw_style’;}else{@me=”;}[/field:key]来控制是否显示图片;有了这个底层模板产生就能做很多我们需要的功能了。
这个功能虽然很简单,其实这个参数会经常用到。建议使用织梦的童鞋可以看一下他的标签函数,其实很简单!
本文链接:http://www.521php.com/archives/1166/
程序本天成,妙手偶得之!我们只是代码的搬运工!
转载请注明:http://www.521php.com/archives/1166/