Для компонентов нет setTemplate()! Я знаю, но, может быть, есть другой способ сделать это?
(Кажется, вопрос касается фреймворка php: http://www.symfony-project.org/ а>)
Для компонентов нет setTemplate()! Я знаю, но, может быть, есть другой способ сделать это?
(Кажется, вопрос касается фреймворка php: http://www.symfony-project.org/ а>)
В sfComponents нет метода setTemplate. По сути, у вас есть 3 варианта:
executeFoo()
, который вы хотите отобразить в шаблоне _bar.php
, просто вызовите include_partial('bar', $vars)
внутри _foo.php
.include_partial('bar', $vars)
вместо include_partial('bar', $args)
.
- person chiborg; 24.06.2011
Чтобы обойти это, я делаю:
echo get_component('module', 'action', $this->getVarHolder()->getAll());
return sfView::NONE;
return get_partial('module/partial');
, но это не обошло бы обычный шаблон для компонента. Теперь, благодаря этому ответу, у меня это работает так: echo get_partial('module/partial'); return sfView::NONE;
- person Aitor; 12.01.2021
Компоненты не обрабатывают шаблоны, вы можете использовать только частичные. Если вам нужно вернуть определенный частичный код из вашего класса компонентов, вы можете сделать что-то вроде этого:
return get_partial('module/action', array('paramName' => $paramValue));
Загляните в книгу по Symfony, глава 7 слой
Это сработало для меня:
$this->setVar('template', 'templateName');
Очевидно, что шаблон должен находиться в одном и том же модуле.