如何从symfony中的任务加载模块特定的自定义帮助程序?

时间:2010-08-05 12:31:53

标签: php symfony1 symfony-1.4

我在symfony 1.4.6 ...

中的任务内部渲染部分内容
$this->configuration = $this->createConfiguration(app, env, false);
$this->configuration->loadHelpers(array('Partial'));

$context = sfContext::createInstance($this->configuration);
$html = get_partial(partialName, params);

...在partial内部有一个自定义助手的引用,无法从默认上下文中引用,因此抛出异常......

Unable to load "fooHelper.php" helper in: SF_ROOT_DIR/apps/frontend/lib/helper, SF_ROOT_DIR/lib/helper, SF_ROOT_DIR/lib/vendor/symfony/lib/helper.

...尝试从引用loadHelpers中的模块名称的任务加载自定义帮助程序似乎无法解决问题......

$this->configuration->loadHelpers(array('Partial'), moduleName);

我试图加载的帮助程序是特定于模块的,我真的不想将它移动到上面例外中列出的默认项目帮助程序目录之一。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

请查看HelperHelper.php帮助文件的内容。 use_helper()可以部分使用,所以我想把这段代码放在partial的顶部可以完成这项工作:

$context = sfContext::getInstance();

$context->getConfiguration()->loadHelpers(array('Custom'), 'moduleName');