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

2022-12-07 0 908

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

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

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

操作方法

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

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

截图:

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

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

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

//通用内容替换标签@mk-content_replacepublicfunctionparserContentReplaceLabel($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($paramsas$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;}

截图:

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

自定义方法添加截图:

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

前台使用

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

{pboot:contentreplacecontent=''}

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

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

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

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 PbootCMS教程 如何自定义一个pbootcms文章内容替换标签 https://www.u-9.cn/webyunying/pbootcmssyjc/2127.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

注册会员,众多资源免费下载