Мне нужно обернуть произвольное количество блоков на странице, чтобы применить к ним систему сетки.
Я знаю о 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. Спасибо!
Я думаю, что вам, возможно, придется использовать быстрый и грязный хак и добавить блоки HTML с вашей разметкой в них между вашими другими блоками
В итоге я сделал переопределение.
Для этого я скопировал area.php
от concrete/models/
в models/area.php
и вставил function display(&$c, $alternateBlockArray) {...}
от concrete/core/models/area.php
и приспособил его к моим потребностям. При этом я сохраняю для будущих обновлений CMS и могу настроить функцию без случайного «разрушения» основной функциональности. 🙂
Если у вас есть какие-либо вопросы по этому поводу, не стесняйтесь спрашивать меня!