本文主要讲一个将织梦arclist标签修改成可以控制是否调用带有标题图片的文章,用过织梦的童鞋们都知道,dede:arclist标签是最常用的了,可以很方便的调用需要的文章,但是他有一个很难受的地方,就是我们如果调取图文并茂的文章,如果没有标题图片,会被一个默认图片所替换,不能直接调用带有图片的或者不带图片的。虽然我们可以通过织梦的dedesql标签或者php标签来做,但是有的时候没那么复制只是希望可以有这样一个功能而已。我其实已经很长时间不用织梦了,我最近一直在用帝国,帝国的标签就有这个功能。但是最近做一个门户,公司非要使用织梦,那我在做的过程中发现这一点很难受,于是就想改一下他的标签函数算了,其实很简单。

我们分析他的表,dede_archives是他的文章表,标题图片的字段为:litpic,他和帝国的字段不同,帝国有个ispic字段,为1就是有图片,织梦的话我们可以通过判断这个litpic是否为空来判断是否有图片,这是sql层,那么下面我就可以来修改他的标签函数库了。找到include/taglib文件夹,织梦的所有标签库都存在这里。找到arclist.lib.php文件,这个就是dede:arclist的标签库文件。我要自己定义一个标签,也是在这里增加即可。那么我要做这样几步。

1、找到return lib_arclistDone,差不多是第129行,在其前面加上一句

这一句就是在arclist获取ispic参数的值。

2、还是找到这个return lib_arclistDone,在其传入参数里面加上这个$ispic,即将

变为:

3、对传入的这个参数组织sql语句,找到if(preg_match(‘#spec#i’, $listtype)),差不多在301行,在其前面加上一句

$orwheres就是sql语句的所有where子句。

这样这个标签库就修改完了,如何调用呢。

使用:

这个ispic参数,如何是1,就是调用带标题图片的,如果是2,就是调用不带图片的,如果不定义,就随便了!很简单吧!图片的路径可以用[field:picname/]来调用,以前我还不知道呢,所以有时间看一下他的标签库,其实写的很简单!

本文链接:http://www.521php.com/archives/1159/

程序本天成,妙手偶得之!我们只是代码的搬运工!

转载请注明:http://www.521php.com/archives/1159/

发表评论

昵称:

网址:

eg.博客主题调用的是Gravatar头像,你可以通过邮箱注册获得头像.
/ 快捷键:Ctrl+Enter