Magento: разница между основными контроллерами фронтального действия и блочными контроллерами - PullRequest
0 голосов
/ 17 января 2012

В настоящее время я работаю над пользовательским модулем, в котором у меня есть контроллер, расширяющий Mage_Core_Controller_Front_Action для обработки запросов. Этот контроллер загружает и отображает блоки, которые я определил в файле макета XML.
Каждый из этих блоков может иметь свой собственный контроллер блока, назначенный в поле типа. Что я хотел бы знать, так это то, что лучше всего присваивать переменные файлам шаблонов? Предполагая, что у меня есть список продуктов, которые я хотел бы отобразить в шаблоне. Создать ли функцию в контроллере блока и вызвать эту функцию в файле шаблона, или мне следует назначить список продуктов для блока в основном контроллере?
Я знаю, что этот вопрос довольно теоретический, мне просто интересно, каковы преимущества каждого варианта и какова лучшая практика в Magento.

1 Ответ

1 голос
/ 17 января 2012

Хорошая практика, как правило, заключается в том, чтобы блоки были максимально автономными. В этом случае это будет означать назначение переменных шаблона / представления в контроллере блока. Это позволило бы повторно использовать ваш блок на других страницах без изменений и хранить все в одном месте. Таким образом, если что-то меняется в указанном блоке, вам нужно всего лишь изменить контроллер блока, в противном случае, возможно, вам также потребуется изменить фронт-контроллер. В некоторых ситуациях блок использует данные от фронт-контроллера. Но это особая ситуация, и ее следует избегать, насколько это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...