Symfony:是否可以为组件设置模板?

And*_*rey 9 php symfony1

组件没有setTemplate()!我知道,但也许有另一种方法可以做到这一点?

(问题似乎是关于php框架:http://www.symfony-project.org/)

Jer*_*man 10

sfComponents上没有setTemplate方法.你基本上有3个选择:

  1. 将组件命名为与要渲染的组件的部分相同.如果您要共享同一模板的多个组件,则可能无法执行此操作.
  2. 创建一个具有相同组件名称的部分,并在其中包含部分.也就是说,如果你有一个组件executeFoo(),你想要渲染_bar.php模板的方法,只需include_partial('bar', $vars)在里面调用_foo.php.
  3. 加载PartialHelper并在组件execute方法内手动渲染部分,并让组件返回sfView :: NONE.


vir*_*ize 5

组件不处理模板,您只能使用partials.如果需要从组件类中返回特定的部分,可以执行以下操作:

return get_partial('module/action', array('paramName' => $paramValue));
Run Code Online (Sandbox Code Playgroud)

看看symfony书,第7章视图层


jmo*_*moz 5

为了解决这个问题,我正在做:

echo get_component('module', 'action', $this->getVarHolder()->getAll());
return sfView::NONE;
Run Code Online (Sandbox Code Playgroud)