PHPCMS官方模板里没有首页调用文章来源的示例,我们来实践一下如何在首页调出文章来源。
首页调用内容模块有4种方法,分别是{PC}标签下的position、lists、hits、category4种action操作。其中position和hits是推荐位和排行榜,那常规的内容调用就只有lists和category了。我们在后台模型管理中查看文章来源copyfrom字段,发现它是存储在附表里面的,如下图。
action="category"
默认是不支持调用副表数据的,action="lists"
可以调用副表数据,但是要加上moreinfo="1"这个属性参数。所以首页调用文章来源标签写法如下:
<ul>
{pc:content action="lists" catid="14" num="10" order="id DESC" moreinfo="1"}
{loop $data $r}
<li><a href="{$r[url]}">{$r[title]}(来源:{$r[copyfrom]})</a></li>
{/loop}
{/pc}
</ul>
该方式调用后,发现文章来源是这种格式:来源名称|0,也不是我们最终想要的效果,所以还需要使用php的explode()
函数处理一下copyfrom数据,最终的文章来源调用方式如下:
<ul>
{pc:content action="lists" catid="14" num="10" order="id DESC" moreinfo="1"}
{loop $data $r}
{php $copyfrom=explode('|', $r[copyfrom])}
<li><a href="{$r[url]}">{$r[title]}(来源:{$copyfrom[0]})</a></li>
{/loop}
{/pc}
</ul>
如果需要使用action="category"方法调用文章来源,还需要做一些二次开发,查找出对应的副表就可以了。