PBootcms 列表过滤标签filter 根据关键词进行调用 失败的解决方法


最近,在做一个网站时遇到的一个问题,需求:在内容页,根据文章关键词调取 指定栏目的相关文章 ,网站用的 PBootcms 搭建的。

查询开发手册,写法应该为:

{pboot:list scode=* filter="title|{content:keywords}" }
<a href= "[list:link]">[list:title]</a>
{/pboot:list}

 但是,没有调取到相关文章,于是,为了进一步判断是否是写错了调用方法,我手动将{content:keywords}替换为 关键词

{pboot:list scode=* filter="title|海洋" }
<a href= "[list:link]">[list:title]</a>
{/pboot:list}

发现,在直接使用关键词时,是可以直接调取到相关文章的,使用“{content:keywords}”却无法正常调用

经过,打断代码,发现使用  filter="title|{content:keywords}"  时 调取代码为:

image.png

解决方案:

修改文件: /apps/home/controller/ParserController.php 

查找:“ $content = $this->parserSiteLabel($content); // 站点标签"

$content = $this->restorePreLabel($content); // 还原不需要解析的内容

返回值 上面这行代码 插入到站点标签前一行,如:

$content = $this->restorePreLabel($content); // 还原不需要解析的内容
$content = $this->parserSiteLabel($content); // 站点标签


测试过将这句话移动到前面,但是发现,列表调用出来后 简介显示为:#pre: 4# ,为了省事,所以直接复制粘贴了一遍,当然,我这个方案可能不是最优解,欢迎大神留言解决。



评论