PbootCMS增加if判断php函数,增加可用性
作者:欧阳 发布时间:2021年09月07日 阅读: 7,917 分类:学习笔记
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}
如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!