phpcms的文章来源分为两种,一种是在后台来源中添加完成的,这种“来源”的相关数据存放于数据库的copyfrom表中,通过id和news_data表相关联,另外一种是在添加或编辑文章时直接写上去的,在后台没有,这种“来源”只有一个名字存放在news_data表的“copyfrom”字段中。
phpcms自带的lists标签的输出数组默认是没有来源字段的,要想显示,对以上两种情况,要分别用不同的方法进行处理。
1、第一种情况
这种情况下,“来源”的所有相关数据都存放在缓存中,可以实用getcache函数读取后,为lists标签的返回数组增加一个copyfrom字段,然后再在前台调用,原理和昨天写的“在前台显示文章类别”的方法相同。
2、第二种情况
这种情况其实是比较简单的,因为“来源”的相关数据只有一个名字,存放在news_data表中,而这个表是文章表(news表)的附表,因此在lists标签中把moreinfo属性设置为1即可直接用{$r[‘copyfrom‘]}来显示,但这样的问题是输出的数据带了一个尾巴,即“来源名字|0”。
这样就需要用php字符串函数explode处理一下再输出,需要两句命令:
{php $cc=explode(‘|0‘,$[‘copyfrom‘])} {$cc}
需要注意的是这两句命令不能写在一行,否则会报错。
时间: 2024-10-12 17:36:04