Symfony:在第三方库(在$ SFROOT/lib文件夹中)中使用getPartial()
问题描述:
我在Symfony 1.3.8中使用事件系统。
我正在为事件处理程序编写逻辑。作为我的逻辑的一部分,我可能需要发送电子邮件。因此,我需要获得发送电子邮件的适当部分。
这样做的最好方法是什么?
我有这个至今:
class MyEventHandler
{
public static function handleFooEvent(sfEvent $event)
{
// I need to get partial here
// $body = $this->getPartial('somemodule', 'foo', $params);
}
}
我注意到getPartial()在sfAction实现这样的:
public function getPartial($templateName, $vars = null)
{
$this->getContext()->getConfiguration()->loadHelpers('Partial');
$vars = null !== $vars ? $vars : $this->varHolder->getAll();
return get_partial($templateName, $vars);
}
答
加载在应用程序的任何地方的帮手,你可以使用如下:
sfProjectConfiguration::getActive()->loadHelpers("Partial", "Url", "MyHelper");
然后你可以得到所需的部分只是:
get_partial('somemodule/somepartial', $params)