在列表页中,arclist标签中如果有infolen参数(注:这个参数是用来截取简介最大字符),默认只对info与infos有效。今天在培训群里,有朋友在问,为什么这个参数对info与infos有效,而对于description无效呢。今天,华强就告诉大家答案并给出解决方案。
1)问题分析
我们知道,从DedeCMS V5.3版本开始,都是织梦标签源码分离的技术,只要你会简单的PHP语言,就能够自主开发适合Dede程序的标签。那么上面的标签,他的标签源码的位置 应该在/include/taglib/arclist.lib.php文件,那么我们打开这个文件,找到如下代码:
- $row['info'] = $row['infos'] = cn_substr($row['description'],$infolen);
里面这一句,虽然将info与infos处理了字符截取,但没有对description进行处理。
2)解决方案
只需要将上面的
- $row['info'] = $row['infos'] = cn_substr($row['description'],$infolen);
这一句,修改为如下的代码即可:
- $row['description'] = $row['info'] = $row['infos'] = cn_substr($row['description'],$infolen);
3)华强小结
从上面的代码可以看出,Dede开源程序的强大之处。可也有可能正是这开源的原因,使得官方在开发的时候不太注重小的细节处理(当然,如果是官方故意保留的description字段不处理用于其它用途则本小节请Pass)。所以,这里华强呼吁官方:请尊重用户,尊重自己的开发理念。