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)