用留言功能实现PbootCms网站文章评论
作者:80网站模板发布时间:2021-04-02浏览量:37
精选企业建站模板,pb建站教程以及各类手机网站模板下载和企业网站模板分享,PbootCMS模板下载提供优质网站模板源码,仿站业务PbootCMS个人博客模板,PbootCMS企业建站,PbootCMS导航模板等

用留言功能实现PbootCms网站文章评论

给留言板添加字段,例如叫:articleid

然后在文章下面加入留言表单。

在表单中增加一个隐藏字段:

<!--用来记录文章的ID--><input type="hidden" value="{content:id}" name="articleid">

如果不需要在文章下显示评论,到这里就结束啦。还可以多加几个隐藏字段,记录文章标题,文章URL,方便查看。

pbootcms建站教程肯定不能这么没营养了。

我们使用message标签加载留言列表的时候,会把所有的留言都加载出来,再加上一个判断articleid=={content:id},就实现了评论列表读取。这个方法有个严重的BUG,就是分页会不准确。可能出现1页都没一条评论的情况。

优化方案

那么我们需要对message标签进行一个优化,来更好的实现评论列表效果。

优化后的message标签如下,通过filter属性来过滤出我们所需的留言(评论)。

{pboot:message num=10 filter=articleid|{content:id} page=1}{/pboot:message}

修改文件位置1:/apps/home/controller/ParserController.php,大约在1866行,找到parserMessageLabel方法

为了突出重点,代码仅贴了主要部分,看我的注释@cms88,小朋友请自行整合。

    // 解析留言板标签    public function parserMessageLabel($content)    {        $pattern = '/\{pboot:message(\s+[^}]+)?\}([\s\S]*?)\{\/pboot:message\}/';        $pattern2 = '/\[message:([\w]+)(\s+[^]]+)?\]/';        if (preg_match_all($pattern, $content, $matches)) {            $count = count($matches[0]);            for ($i = 0; $i < $count; $i ++) {                // 获取调节参数                $params = $this->parserParam($matches[1][$i]);                $num = $this->config('pagesize');                $page = true;                $start = 1;                $lg = '';                $filter = '';                                foreach ($params as $key => $value) {                    ......                }                                // 起始数校验                if (! is_numeric($start) || $start < 1) {                    $start = 1;                }                // filter数据筛选 @cms88                $where = array();                if ($filter) {                    $filter = explode('|', $filter);                    $where = $filter[0] . "='" . escape_string($filter[1]) . "'";                }                                // 读取数据 @cms88                if (! $data = $this->model->getMessage(escape_string($num), $page, $start, $lg, $where)) {                    $content = str_replace($matches[0][$i], '', $content);                    continue;                }                                // 匹配到内部标签                if (preg_match_all($pattern2, $matches[2][$i], $matches2)) {                    $count2 = count($matches2[0]); // 循环内的内容标签数量                } else {                    $count2 = 0;                }                                $out_html = '';                $key = 1;                foreach ($data as $value) { // 按查询数据条数循环                    ......                }                $content = str_replace($matches[0][$i], $out_html, $content);            }        }        return $content;    }

修改位置2:/apps/home/model/ParserModel.php,大约在723行,getMessage方法。

// 获取留言    public function getMessage($num, $page = true, $start = 1, $lg = null, $filter = null)   //@cms88 增加filter    {        if ($lg == 'all') {            $where = array();        } elseif ($lg) {            $where = array(                'acode' => $lg            );        } else {            $where = array(                'acode' => get_lg()            );        }        if ($page) {            return parent::table('ay_message')->where("status=1")                ->where($where)                ->where($filter, 'OR')                ->order('id DESC')                ->decode(false)                ->page(1, $num, $start)                ->select();        } else {            return parent::table('ay_message')->where("status=1")                ->where($where)                ->where($filter, 'OR')                ->order('id DESC')                ->decode(false)                ->limit($start - 1, $num)                ->select();        }    }

至此,功能实现。学会的同学点个赞呗。


文章标签:pbootcms    网站    建站    教程   
关 键  词:pbootcms建站教程,pbootcms网站模板下载,企业网站建设公司
本文网址:http://www.80oo.cn/jiaocheng/336.html如有转载请注明来源!
最新模板
(自适应手机版)净水设备类pbootcms网站模板

编号:x084     价格:50
(自适应手机版)站长导航类网站pb网站模板下载

编号:x085     价格:100
(手机版)蓝色通用企业wap手机网站源码

编号:x083     价格:50
建站知识
2021
06-01
网站语言需要配合一定的规则,大家在使用网站模板的时候,都需要提前知道网站的语言是什么,有助于使用这套模板,大家在看到别人网站的时候,不知道别人的网站是什么语言开发的,也想要做同样的网站的时候,教大家怎样看网站用什么语言开发的1. 根据 meta 信息判断不少的网站会在 meta 添加框架的信息,比如 Joomla、XOOPS、
2021
06-01
很多站长在建站的时候喜欢在底部加入网站运行时间统计,显得逼格特别上档次,今天技术小编就分享下,一个购买网站模板的用户,寻求这样一个代码加上运行时间代码。查看了网站底部模板代码插入的网上很多教程,貌似都只能精确到天,今天我们麦模板技术小编分享的代码是运行时间精确到年月日时分秒。网站底部模板运行时间代码
2021
05-13
如今建站是件很简单的事情,任何人都可以在不了解Web开发,设计或编码的情况下建立和设计网站。无论您是想为自己还是为企业创建网站,都可以使用正确的工具和资源轻松地做到这一点。本分步指南将帮助您从头开始创建网站,而无需花钱给自由职业者,代理商或网站建设者。您只需要1-2小时的空闲时间即可完成指南并建立网站。建
2021
05-11
一个网站的框架是跟搜索引擎蜘蛛抓取收录有关的。网站设计工作的内容 网站主页设计而大部分客户登录网站先浏览的便是主页。在网站设计时,首页布局不光仅仅是思考到美观方面,关键的问题是符合网站的营销策略,所以设计网站主页的工作量占据多半以上的时间。设计网站主页的工作量占据多半以上在设计网站之
服务热线