手机版

phpbb源码分析-模板引擎(2)(3)

发布时间:2021-06-08   来源:未知    
字号:

phpbb,源码分析 模板引擎,工具书

$blocks = explode('.', $blockname);

$blockcount = sizeof($blocks) - 1;

$str = &$this->_tpldata;

for ($i = 0; $i < $blockcount; $i++)

{

$str = &$str[$blocks[$i]];

$str = &$str[sizeof($str) - 1];

}

unset($str[$blocks[$blockcount]]);

}

else

{

// Top-level block.

unset($this->_tpldata[$blockname]);

}

return true;

}

我们可以看到一个简单的逻辑,首先根据这个函数,可以看到在phpbb3的模板中有两种形式的块数据名字定义,它们是:

blockvar blockvar.subvar.subsubvar

可以看到在上面的两种形式的blockvar形式,中间有”.”的有嵌套的blockvar形式,而前面一种只是简单的单层的块数据。下面是我从phpbb3.0.5的代码中找到的例子,请看

在faq_body.html中有下面这段模板代码,可以看到这是一个双重的循环。

<!-- BEGIN faq_block -->

<!-- IF faq_block.S_ROW_COUNT == 4 -->

</div>

<div class="column2">

<!-- ENDIF -->

<dl class="faq">

<dt><strong>{faq_block.BLOCK_TITLE}</strong></dt>

<!-- BEGIN faq_row -->

phpbb源码分析-模板引擎(2)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)