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

作者:欧阳 发布时间:2021年09月07日 阅读: 260 分类:学习笔记

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}

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

标签: cms, PbootCMS

添加新评论 »