Estoy ejecutando Symfony 1.3.6 en Ubuntu 10.0.4 LTS.Uso de rutas para generar direcciones URL en una tarea de Symfony
He escrito una tarea de Symfony que genera un informe que contiene enlaces (URL).
Aquí hay un fragmento del método execute()
en mi clase de tarea:
protected function execute($arguments = array(), $options = array())
{
//create a context
sfContext::createInstance($this->configuration);
sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url', 'Asset', 'Tag'));
...
$url = url_for("@foobar?cow=marymoo&id=42");
// Line 1
echo '<a href="'.$url.'">This is a test</a>';
// Line 2
echo link_to('This is a test', $url);
}
El nombre de la ruta se define así:
foobar:
url: /some/fancy/path/:cow/:id/hello.html
param: { module: mymodule, action: myaction }
Cuando se ejecuta, el enlace generado es:
La línea 1 produce esta salida:
./symfony/symfony/some/fancy/path/marymoo/42/hello.html
en lugar del esperado:
/some/fancy/path/marymoo/42/hello.html
Línea 2 genera un error:
Unable to find a matching route to generate url for params "array ( 'action' => 'symfony', 'module' => '.',)".
Una vez más, la URL esperada es:
/some/fancy/path/marymoo/42/hello.html
¿En qué puedo resolver ¿esta?
+1 por el bonito, breve fragmento que me muestra cómo resolver este problema. Voy a modificar el código ligeramente para adaptarme a lo que estoy haciendo, probarlo, si funciona, aceptaré esta respuesta. – morpheous
¡Funciona !. Gracias, gracias, gracias! :) – morpheous
¿Dónde debería poner este fragmento?No puedo llamar a $ this-> getRouting() desde una tarea:/ – JavierIEH