unlex
Новичок
Zend Framework и шаблоны.
Только начал разбираться с фрэймворком, поэтому многое еще не ясно. Задам вопрос на конкретном примере.
К примеру, на странице mysite/gallery/list надо вывести превьюшки фотографий с названием, в рамочке и т.д.
У меня есть собственное подобие фреймворка и я всегда работал так - главный контроллер определяет, что надо вызвать контроллер галереи, тот в свою очередь вызывает свой метод list(). Этот метод обращается к модели и формирует массив с данными о фотках. Есть шаблон photo.tpl, в который оборачивается каждая фотка из возвращенного массива. Работал со Smarty поэтому было примерно так:
Затем передавал обернутый массив в шаблон list.tpl, где строил вывод изображений. А главный контроллер уже показывал layout.tpl и подставлял куда надо данные из list.tpl.
в случае с Zend Framework такая последовательность действий проблематична, а с использованием ViewRenderer вообще, по моему невозможна.
Таким образом проблема в том чтобы в одном и том же методе вытянуть данные из одного шаблона и затем впихнуть в другой, данные из которого затем должны подставиться в главный layout.
Надеюсь не слишком запутано. )
Только начал разбираться с фрэймворком, поэтому многое еще не ясно. Задам вопрос на конкретном примере.
К примеру, на странице mysite/gallery/list надо вывести превьюшки фотографий с названием, в рамочке и т.д.
У меня есть собственное подобие фреймворка и я всегда работал так - главный контроллер определяет, что надо вызвать контроллер галереи, тот в свою очередь вызывает свой метод list(). Этот метод обращается к модели и формирует массив с данными о фотках. Есть шаблон photo.tpl, в который оборачивается каждая фотка из возвращенного массива. Работал со Smarty поэтому было примерно так:
PHP:
foreach ($raw_photo_array as $value){
$smarty->assign('photo',$value);
$decorated_array[] = $smarty->fetch('photo');
}
в случае с Zend Framework такая последовательность действий проблематична, а с использованием ViewRenderer вообще, по моему невозможна.
Таким образом проблема в том чтобы в одном и том же методе вытянуть данные из одного шаблона и затем впихнуть в другой, данные из которого затем должны подставиться в главный layout.
Надеюсь не слишком запутано. )