Визуализация частичного из задачи в Symfony 1.4 - PullRequest
3 голосов
/ 05 апреля 2010

Я пытаюсь сделать частичное в задании Symfony, но мне не везет. Я нашел документы в 1.1, в которых говорится, что нужно просто позвонить get_partial(), но, очевидно, это больше не доступно в 1.4. Я попытался загрузить помощника вручную с помощью sfLoader::getHelpers('Partial');, но я получил «Класс sfLoader not found». Любая помощь будет принята с благодарностью.

Для справки я пытаюсь создать файл HTML с именем header.html из моего глобального заголовка, частично используемого во всех моих макетах, для включения в сторонний форум, который я интегрирую (Simple Machines / SMF).

Ответы [ 6 ]

6 голосов
/ 15 декабря 2011

Первая загрузка:

sfContext::getInstance()->getConfiguration()->loadHelpers('Partial');

тогда просто позвоните:

get_partial()
3 голосов
/ 30 октября 2010

Это поможет:

//load the Partial helper to be able to use get_partial()
$contextInstance = sfContext::createInstance($this->configuration);
$contextInstance->getConfiguration()->loadHelpers('Partial');
3 голосов
/ 22 октября 2010

Не забудьте добавить имя приложения в настройках вашей задачи. Посмотрите на эту строку:

new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED,'The application name', 'frontend')

Теперь $this->configuration возвращает sfApplicationConfiguration, что вам нужно.

1 голос
/ 05 ноября 2011

Просто вызвал частичное задание для использования при отправке бесплатной пробной электронной почты, вот код:

//combines the partial with passed variables and puts the results in a string variable
$contextInstance = sfContext::createInstance($this->configuration);
$contextInstance->getConfiguration()->loadHelpers('Partial');

$partial_in_a_string = $contextInstance->getController()
          ->getAction('module_name', 'action_name')
          ->getPartial('module_name/partial_name', array('var_name'=>'var_value'));
1 голос
/ 05 апреля 2010

sfLoader устарела в Symfony 1.2 - я думаю, вам нужно просмотреть API 1.4 и справку по обновлению с любой версии, с которой вы знакомы, так как это будут ресурсы, на которые вы должны ссылаться много.

Хитрость в решении вашей проблемы заключается в загрузке помощника с помощью метода loadHelpers(), предоставляемого классом sfApplicationConfiguration - ваша задача должна подключить этот метод к его configure() методу. Я не делал этого раньше себя, ум ...

0 голосов
/ 07 апреля 2010

вы можете получить доступ к текущей конфигурации с помощью

$this->configuration

Вы также можете определить опцию команды приложения в методе taskClass :: configure () (если вы использовали symfony generate: task для генерации класса задачи, которую выдолжен иметь внешний интерфейс как вариант приложения по умолчанию).При желании вы можете передать приложение, используя --application = appName из cli при вызове вашей задачи.

...