Как обернуть несколько блоков

Мне нужно обернуть произвольное количество блоков на странице, чтобы применить к ним систему сетки.

Я знаю о 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. Спасибо!

1

Решение

Я думаю, что вам, возможно, придется использовать быстрый и грязный хак и добавить блоки HTML с вашей разметкой в ​​них между вашими другими блоками

0

Другие решения

В итоге я сделал переопределение.

Для этого я скопировал area.php от concrete/models/ в models/area.phpи вставил function display(&$c, $alternateBlockArray) {...} от concrete/core/models/area.php и приспособил его к моим потребностям. При этом я сохраняю для будущих обновлений CMS и могу настроить функцию без случайного «разрушения» основной функциональности. 🙂

Если у вас есть какие-либо вопросы по этому поводу, не стесняйтесь спрашивать меня!

0

По вопросам рекламы [email protected]