各个块我有一个Concrete5模板,该模板的定义和输出内容区域:遍历内Concrete5
$a = new Area('Content');
$a->display($c);
此输出的内容区域内的所有块,但是我想通过从每块循环该区域并单独输出。
有没有办法做到这一点?
谢谢。
各个块我有一个Concrete5模板,该模板的定义和输出内容区域:遍历内Concrete5
$a = new Area('Content');
$a->display($c);
此输出的内容区域内的所有块,但是我想通过从每块循环该区域并单独输出。
有没有办法做到这一点?
谢谢。
我相信我已经想通了这一点我自己,这是我使用的代码:改编自code on the C5 forums
$blocksInArea = Page::getCurrentPage()->getBlocks('Content');
foreach ($blocksInArea as $block) {
$this_block = Block::getByID($block->bID);
$this_block->display();
}
代码。
有一种更有效的方式来做到这一点(要比你在论坛的帖子找到了更有效):
$blocks = $c->getBlocks('Content');
foreach ($blocks as $b) {
$b->display();
}
虽然我不知道为什么你要做到这一点 - 呼唤该区域上的display($c)
本身也是一样的。
需要注意的一件事:如果该区域中有“区域布局”,则无法正常工作。为此,您需要变得更加复杂...您可以通过查看我的免费“Page List Teasers”插件中的代码来了解我是如何做到这一点的:http://www.concrete5.org/marketplace/addons/page-list-teasers