Páginas

1 de fevereiro de 2011

Usar Helpers nas Tasks

Para utilizar helpers nas tasks, precisamos de referenciar qual a aplicação da task. Para isso forçamos uma aplicação default nas options da task pretendida:

protected function configure()
{
        $this->addOptions(array(
            new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED,'The application name', 'frontend'),
                // ...
        ));
}
(Neste caso defini a aplicação default como sendo frontend)

Agora, no método execute:

protected function execute($arguments = array(), $options = array())
{
        // ...
        $contextInstance = sfContext::createInstance($this->configuration);
        $contextInstance->getConfiguration()->loadHelpers('Partial');
        // ...
}

2 comentários:

  1. A primeira parte (do método configure) onde se define uma aplicação default é também necessária para que se possa aceder ao ficheiro de config "app.yml", mesmo que seja um ficheiro app.yml global

    ResponderExcluir
  2. Um dos helpers que mais surge como necessário é o UrlHelper.

    Para o activar numa Action, por exemplo:

    $this->getContext()->getConfiguration()->loadHelpers('Url');

    ResponderExcluir