如何包装多个块

How to wrap multiple blocks

我需要在页面上包裹自定义数量的块,以便对它们应用网格系统。

我知道 setBlockWrapperStart()setBlockWrapperEnd(),但这些都是在生成的每个块之后应用的。

假设我有 12 个给定类型的块,我想在开头用 <div class="row"> 包装第一个,在第 4 个之后我想附加 </div>。接下来(第 5 个块)我想再次从 <div class="row"> 开始...

有什么方法可以用具体的 5 来实现吗?我现在使用标准输出,但不知道如何向其中添加循环或其他东西来实现我的方法:

$b = new Area('Test Block');
$b->display($c);

我正在使用具体的 5.6.3.4。谢谢!

我认为您可能需要使用一种快速而肮脏的 hack,并在其他块之间添加 HTML 个带有您的标记的块

我最后做了一个覆盖。

为此,我将 area.phpconcrete/models/ 复制到 models/area.php,并插入 concrete/core/models/area.phpfunction display(&$c, $alternateBlockArray) {...} 并根据我的需要进行调整。有了这个,我可以为将来的 CMS 更新保存,并且可以调整功能而不会意外 "destroying" 核心功能。 :)

如果您对此有任何疑问,请随时问我!