Как лучше назначить меню в каркас страницы?

Sep 06, 2009 15:41

Господа знающие, использующие фреймворки в повседневной жизни! Призываю Вас помочь мне в понимании, как лучше реализовать следующее.

Есть каркас страницы (layout) и ее содержимое (content). Так вот, в layout следует вставить меню, которое генерируется "где-то". Это меню будет формироваться для этого каркаса, вне зависимости от того, какой content ( Read more... )

framework, php, help, php5

Leave a comment

Comments 4

ext_196400 September 7 2009, 10:49:45 UTC
А контроллеры вообще наследуются? Вот и положи код формирования меню в родительский контроллер.

Reply

phpdays September 7 2009, 11:42:08 UTC
Есть базовый контроллер, и от него идет наследование. Можно конечно и промежуточный наследник создать.

Но это меню нужно лишь в layout с именем index. А для других каркасов будут свои меню (формируемое другим способом).

В общем, ранее это я делал путем вызова Smarty плагина (прямо в шаблоне каркаса), который дергал "что-то", возвращался массив пунктов меню и затем формировалось меню. Сейчас хочется найти более стандартизированное решение этой задачи. Интересно, как это решается в том же RoR.

Reply

ext_196400 September 7 2009, 15:49:32 UTC
Да в RoR где-то так же и решается.

Есть модуль с хелперами, это то же самое, что Smarty-плагины. Туда добавляешь метод, он собирает данные и потом с этими данными рендерит шаблон меню.

Или просто напрямую рендерить шаблон, если никаких дополнительных данных не нужно.

Reply

Спасибо! phpdays September 8 2009, 08:11:19 UTC
А как бы ты реализовал подобный модуль в рамках php5, чтобы была удобная работа как из Smarty, так и из других шаблонизаторов?

Я так понимаю, что следует создать модуль хелера вида, у которого вызывается магический метод, который уже ищет хелпер (совпадающий с именем метода) и выполняет его.

Далее назначаю в "переменную шаблона" объект этого хелпера, чтобы верстальщик мог запрашивать информацию у хелпера вида. Интересно получается. Вроде и логика прозрачная :)

Reply


Leave a comment

Up