Как загрузить специальный пользовательский помощник для модуля из задачи в Symfony? - PullRequest
1 голос
/ 05 августа 2010

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

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

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 Ответ

2 голосов
/ 05 августа 2010

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

$context = sfContext::getInstance();

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