2013-05-09 70 views
1

各個塊我有一個Concrete5模板,該模板的定義和輸出內容區域:遍歷內Concrete5

$a = new Area('Content'); 
$a->display($c); 

此輸出的內容區域內的所有塊,但是我想通過從每塊循環該區域並單獨輸出。

有沒有辦法做到這一點?

謝謝。

回答

1

我相信我已經想通了這一點我自己,這是我使用的代碼:改編自code on the C5 forums

$blocksInArea = Page::getCurrentPage()->getBlocks('Content'); 

foreach ($blocksInArea as $block) { 

    $this_block = Block::getByID($block->bID); 
    $this_block->display(); 

} 

代碼。

1

有一種更有效的方式來做到這一點(要比你在論壇的帖子找到了更有效):

$blocks = $c->getBlocks('Content'); 
foreach ($blocks as $b) { 
    $b->display(); 
} 

雖然我不知道爲什麼你要做到這一點 - 呼喚該區域上的display($c)本身也是一樣的。

需要注意的一件事:如果該區域中有「區域佈局」,則無法正常工作。爲此,您需要變得更加複雜...您可以通過查看我的免費「Page List Teasers」插件中的代碼來了解我是如何做到這一點的:http://www.concrete5.org/marketplace/addons/page-list-teasers