Разобрался с данным паттерном.
Очень помогли ответы.
Но все же остается вопрос - т.к. не совсем могу его использовать на проекте.
И поэтому есть вопрос следующего характера.
Страница у меня собирается так:
Код:
1. <head>
<meta>
<meta>
</head>
2. <body>
меню
хлебные крошки
код основного шаблона
3. > здесь идет if(== 1 колонка)
3.1 require_once('column-1column');
в этом же файле я запрашиваю содержимое страницы из элементов содержимого
условно говоря получается
$rows = getContent('page-Id');
while($row => get()){
// в зависимости от того, что за запись соответственно включается нужный файл
3.1.1 require_once('content'-$row['typeContent']);
}
require_once('content'-text) // пример
require_once('content'-image) // пример
require_once('content'-form) // пример
require_once('content'-plugin) // пример
require_once('content'-accordion) // пример
3.2 > здесь идет if(== 2 колонка)
require_once('column-2column');
$rows = getContent('page-Id','column-1');
while($row => get()){
$rows = getContent('page-Id','column-2');
while($row => get()){
...
</html>
Как видно из этого примера у меня насколько понимаю нет возможности использовать такое классической наследование (Action, Layout) - т.к. страница собирается сверху вниз. Меня все устраивает в этом проекте что есть с такой сборкой и он поддерживаем.
Но есть одна проблема с которой приходится изворачиваться - из например плагина require_once('content'-plugin) я никак не могу отправить данные в секцию Head - например Meta description, Meta Keywords. Либо например из этого же плагина я не могу например отправить данные в хлебные крошки - т.к. эти секции уже собраны.
Вопросы:
1. Можно ли при таком подходе использовать наследование template extends layout
для страницы?
для элемента контента?
2. Если нет такой возможности то как можно реализовать алгоритм отправки данных в Head, в хлебные крошки из плагина которые уже выше по коду собраны и отданы в браузер?