Как мне загрузить пользовательский помощник для конкретного модуля из задачи в symfony?

Я визуализирую часть задачи в 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);

... Внутри партиала есть ссылка на пользовательский помощник, на который нельзя ссылаться из контекста по умолчанию, поэтому возникает исключение...

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);

Помощник, который я пытаюсь загрузить, специфичен для модуля, я действительно не хочу перемещать его в один из каталогов помощников проекта по умолчанию, перечисленных в исключении выше. Любая помощь будет оценена по достоинству!


person chattsm    schedule 05.08.2010    source источник


Ответы (1)


Пожалуйста, взгляните на содержимое вспомогательного файла HelperHelper.php. use_helper() можно использовать в партиале, поэтому я думаю, что этот фрагмент кода поверх партиала сделает работу:

$context = sfContext::getInstance();

$context->getConfiguration()->loadHelpers(array('Custom'), 'moduleName');
person greg0ire    schedule 05.08.2010
comment
Отлично, большой поклонник своего дела! Спасибо. Я не думал о решении этого из самого частичного. - person chattsm; 05.08.2010