Php 如何包装多个块

Php 如何包装多个块,php,concrete5,concrete5-5.6,Php,Concrete5,Concrete5 5.6,我需要在一个页面上包装自定义数量的块,以便将网格系统应用于它们 我知道setBlockWrapperStart()和setBlockWrapperEnd(),但这些都是在生成的每个块之后应用的 假设我有12个给定类型的块,我想在第一个块的开头加上,在第四个块之后加上。接下来(第5个街区),我想再次从开始 有没有办法用具体的5来实现这一点?我现在使用标准输出,但不知道如何添加循环或其他东西来实现我的方法: $b = new Area('Test Block'); $b->display($c

我需要在一个页面上包装自定义数量的块,以便将网格系统应用于它们

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

假设我有12个给定类型的块,我想在第一个块的开头加上
,在第四个块之后加上
。接下来(第5个街区),我想再次从
开始

有没有办法用具体的5来实现这一点?我现在使用标准输出,但不知道如何添加循环或其他东西来实现我的方法:

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

我用的是混凝土5.6.3.4。谢谢大家!

我认为您可能必须使用快速而肮脏的黑客攻击,在其他块之间添加带有标记的HTML块

我认为您可能必须使用快速而肮脏的黑客攻击,在其他块之间添加带有标记的HTML块

我最后做了一个覆盖

为此,我将
area.php
concrete/models/
复制到
models/area.php
,并从
concrete/core/models/area.php
插入
函数显示(&$c,$alternateBlockArray){…}
,并根据我的需要进行调整。有了这一功能,我可以在不意外“破坏”核心功能的情况下对功能进行调整,以备将来CMS更新之用。:)


如果你对此有任何问题,请随时问我

我最后做了一个覆盖

为此,我将
area.php
concrete/models/
复制到
models/area.php
,并从
concrete/core/models/area.php
插入
函数显示(&$c,$alternateBlockArray){…}
,并根据我的需要进行调整。有了这一功能,我可以在不意外“破坏”核心功能的情况下对功能进行调整,以备将来CMS更新之用。:)


如果你对此有任何问题,请随时问我

谢谢你的回答,但我更喜欢更干净的方法,幸运的是我找到了一个!:)看我的答案。谢谢你的回答,但我更喜欢更干净的方法,幸运的是我找到了一个!:)看我的答案。这是个好主意,但是你如何处理不同的情况呢?当你不想要包装纸的时候说?你设置了变量还是什么?是的,我检查blocktype句柄是否是我需要的。根据您的需要进行筛选很容易,您需要的所有信息都在$c和$b对象中。这是个好主意,但您如何处理不同的情况?当你不想要包装纸的时候说?你设置了变量还是什么?是的,我检查blocktype句柄是否是我需要的。它很容易根据您的需要进行筛选,您需要的所有信息都在$c和$b对象中。。