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