在使用PbootCMS的过程中,可能会遇到这样一个问题:当后台将文章状态设置为关闭时,前台生成的tag标签却没有随之消失。虽然在日常使用中这个问题可能影响不大,但如果网站右侧有tags列表展示,并且还配了数量显示,那么用户点击带有数量的标签却看不到内容时,体验效果会大打折扣。接下来,我们将详细介绍如何修复这一问题,使tag标签能够根据文章状态实现显示或隐藏。

实现方法

首先,打开文件 \\\\apps\\\\home\\\\model\\\\ParserModel.php,找到 getSortTags($scode) 函数的位置。

在这个函数的最后,你会看到以下代码:


$result = parent::table('ay_content a')->where("c.type=2 AND a.tags<>''")
    ->where($scode_arr, 'OR')
    ->join($join)
    ->order('a.visits DESC')
    ->column('a.tags');
return $result;
    

请将上述代码修改为以下内容,并保存文件:


$result = parent::table('ay_content a')->where('a.status=1')->where("c.type=2 AND a.tags<>''")
    ->where($scode_arr, 'OR')
    ->join($join)
    ->order('a.visits DESC')
    ->column('a.tags');
return $result;
    

方法解读

通过上述修改,我们在查询数据库时增加了一个状态判断条件 where('a.status=1')。这个条件确保只有状态为开启的文章才会被纳入到标签统计中。这样,当文章状态被设置为关闭时,其对应的tag标签将不会出现在前台展示中。

完成以上步骤后,您的网站将会更加符合用户体验需求,避免因标签与实际内容不匹配而导致的不良体验。

希望这篇文章对您有所帮助!如果您有任何疑问或需要进一步的帮助,请随时联系我们。