如何自定义一个pbootcms文章内容替换标签

本站提供织梦转pbootcms、仿站扒站、网站修改等服务,如有需要请联系站长QQ:2981512913

本文涉及二开内容,新手勿试!如果重度使用过pbootcms就会发现默认的标签放在php代码里无法操作,例如:

image.png

图中这两种都无法实现,那么有时需要替换个内容或者其他需要一个方法去执行该怎么办呢。通过查看content的标签源码发现比较无从下手,那么既然无法是有原生php可不可以自己弄个标签代码,专门去实现给文章内容做替换,具体的方法放到标签源码里,说干就干,其他类似的需求都可以通过这个办法解决。

操作方法

1、去\apps\home\controller\ParserController.php标签解析器里新增个标签

$content = $this->parserContentReplaceLabel($content); // 通用内容替换标签 @mk-content_replace

截图:

image.png

2、去完善这个标签的功能,在最后面新增一个以下功能代码,代码里面包括一个自定义方法,方法添加到\apps\common\funciton.php里。

2020-04-08更新为获取文章id后,再用数据库查询获取该文章内容。

// 通用内容替换标签 @mk-content_replace
public function parserContentReplaceLabel($content)
{
    $pattern = '/\{pboot:contentreplace(\s+[^}]+)?\}/';
    if (preg_match_all($pattern, $content, $matches)) {
        $count = count($matches[0]);
        for ($i = 0; $i < $count; $i ++) {
            $params = $this->parserParam($matches[0][$i]);
            $data = '';
            foreach ($params as $key => $value) {
                switch ($key) {
                    case 'content':
                    $data = $this->model->getContent($value)->content; // 获取到的文章id去获取文章内容
                    $data = testreplace($data); //testreplace方法为自定义方法,在\apps\common\function.php里
                        break;
                }
            }
            if (! $data) { // 无内容不解析
                continue;
            }
            $content = str_replace($matches[0][$i], $data, $content);
        }
    }
    return $content;
}

截图:

image.png

自定义方法添加截图:

image.png

前台使用

完成以上步骤后新的标签就生效了,前台调用代码

{pboot:contentreplace content=''}

里面的'xxxx'换成自己想要替换的内容调用代码(需加单引号),例如文章详情页面 

2020-04-08更新:这里如果直接用内容html标签会被去除,所以改用提交文章id。

{pboot:contentreplace content='{content:id}'}

到此结束,效果自行体验,可以参考搞出新花样。


本文最后更新于 2020-10-23 08:53:03,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长:pbhtml@qq.com
【51LA网站统计V6】新人注册立得5元积分收益~现在加入“优站计划”,还有额外收益赚取,点击了解详情

THE END

如果你的问题还没有解决,可以加入建站交流群和群友们一起讨论。如果你想请站长喝咖啡,点击打赏按钮扫码赞赏。

TAG标签:

文章链接:https://www.pbhtml.com/66.html

文章标题:如何自定义一个pbootcms文章内容替换标签

文章版权:PB模板网 (pbhtml.com) 所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

发表评论:

评论记录:

未查询到任何数据!