侧边栏壁纸
博主头像
欧阳博客

行动起来,活在当下

  • 累计撰写 140 篇文章
  • 累计创建 124 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

PbootCMS增加if判断php函数,增加可用性

欧阳
2021-09-07 / 0 评论 / 0 点赞 / 5 阅读 / 0 字

PbootCMS轻量化,中小型网站开发起来比较快,但Pb不适合大型应用场景,if等循环语句还不支持多数原生php,应用范围有限。
在pboot:list里面if判断仅限特定的函数,如time、strtotime、date无法使用,所以需要自定义if标签才可以,具体修改文件在apps\home\controller下,修改ParserController.php文件即可。

// 解析IF条件标签
    public function parserIfLabel($content)
    {
        $pattern = '/\{pboot:if\(([^}^\$]+)\)\}([\s\S]*?)\{\/pboot:if\}/';
        $pattern2 = '/pboot:([0-9])+if/';
        if (preg_match_all($pattern, $content, $matches)) {
            $count = count($matches[0]);
            for ($i = 0; $i < $count; $i ++) {
                $flag = '';
                $out_html = '';
                $danger = false;
                $white_fun = array(
                    'date',
                    'time',  //这里增加所需函数
                    'strtotime'  //这里增加所需函数
     );

第3230行下可以指定增加所需的php函数。
例如:实际案例增加判断文章发布时间3天内的显示new.gif图标。

  {pboot:if( time()-strtotime('[list:date]')<3*86400 )}
    <img src="{pboot:sitetplpath}/images/new.gif" alt="最新内容">
    {/pboot:if}
0

评论区