【发布时间】:2010-12-09 10:08:36
【问题描述】:
组件没有 setTemplate() !我知道,但也许还有其他方法可以做到这一点?
(问题似乎是关于一个php框架:http://www.symfony-project.org/)
【问题讨论】:
组件没有 setTemplate() !我知道,但也许还有其他方法可以做到这一点?
(问题似乎是关于一个php框架:http://www.symfony-project.org/)
【问题讨论】:
sfComponents 上没有 setTemplate 方法。您基本上有 3 个选择:
executeFoo() 方法的组件,您想渲染 _bar.php 模板,只需在 _foo.php 内调用 include_partial('bar', $vars)。【讨论】:
include_partial('bar', $vars) 而不是include_partial('bar', $args)。
组件不处理模板,您只能使用部分。如果您需要从组件类中返回特定的部分,您可以执行以下操作:
return get_partial('module/action', array('paramName' => $paramValue));
【讨论】:
为了解决这个问题,我正在做:
echo get_component('module', 'action', $this->getVarHolder()->getAll());
return sfView::NONE;
【讨论】:
return get_partial('module/partial'); 上苦苦挣扎,但这不会绕过组件的常规模板。现在感谢这个回复,它对我来说就像这样:echo get_partial('module/partial'); return sfView::NONE;
这对我有用:
$this->setVar('template', 'templateName');
显然模板必须在完全相同的模块中。
【讨论】: