如何自定義一個pbootcms文章內容替換標簽
作者:PB模板網
時間:2020-04-06 10:50:37
瀏覽:4801
點贊:423
本文涉及二開內容,新手勿試!如果重度使用過pbootcms就會發現默認的標簽放在php代碼里無法操作,例如:
圖中這兩種都無法實現,那么有時需要替換個內容或者其他需要一個方法去執行該怎么辦呢。通過查看content的標簽源碼發現比較無從下手,那么既然無法是有原生php可不可以自己弄個標簽代碼,專門去實現給文章內容做替換,具體的方法放到標簽源碼里,說干就干,其他類似的需求都可以通過這個辦法解決。
操作方法
1、去\apps\home\controller\ParserController.php標簽解析器里新增個標簽
$content = $this->parserContentReplaceLabel($content); // 通用內容替換標簽 @mk-content_replace
截圖:
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; }
截圖:
自定義方法添加截圖:
前臺使用
完成以上步驟后新的標簽就生效了,前臺調用代碼
{pboot:contentreplace content=''}
里面的'xxxx'換成自己想要替換的內容調用代碼(需加單引號),例如文章詳情頁面
2020-04-08更新:這里如果直接用內容html標簽會被去除,所以改用提交文章id。
{pboot:contentreplace content='{content:id}'}
到此結束,效果自行體驗,可以參考搞出新花樣。
文章鏈接://bilinxiyi.cn/66.html
文章標題:如何自定義一個pbootcms文章內容替換標簽
文章版權:PB模板網 (bilinxiyi.cn) 所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!
本文最后更新發布于
文章標題:如何自定義一個pbootcms文章內容替換標簽
文章版權:PB模板網 (bilinxiyi.cn) 所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!
本文最后更新發布于
2022-11-28 18:03:21
,某些文章具有時效性,若有錯誤或已失效,請在下方留言或聯系客服: