¡No hay setTemplate() para los componentes! Lo sé, pero tal vez hay otra manera de hacerlo?Symfony: ¿Es posible configurarTemplate para los componentes?
(la cuestión parece ser sobre un marco php: http://www.symfony-project.org/)
¡No hay setTemplate() para los componentes! Lo sé, pero tal vez hay otra manera de hacerlo?Symfony: ¿Es posible configurarTemplate para los componentes?
(la cuestión parece ser sobre un marco php: http://www.symfony-project.org/)
Componentes no manejan las plantillas, sólo se puede utilizar parciales. Si tiene que devolver un parcial específica desde el interior de su clase de componentes que puede hacer algo como esto:
return get_partial('module/action', array('paramName' => $paramValue));
Tener una mirada hacia el symfony book, chapter 7 view layer
No existe un método setTemplate en sfComponents. Básicamente tiene 3 opciones:
executeFoo()
que quería representar la plantilla _bar.php
, simplemente llame al include_partial('bar', $vars)
dentro de _foo.php
.Para evitar esto, yo estoy haciendo:
echo get_component('module', 'action', $this->getVarHolder()->getAll());
return sfView::NONE;
Esto me salvó un montón de archivos de plantilla vacíos. – Lg102
Esto funcionó para mí:
$this->setVar('template', 'templateName');
Obviamente la plantilla tiene que ser exactamente en el mismo módulo.
Pero tenga cuidado al devolver sfView :: NONE en un componente no guardará en caché el componente, al menos en 1.0 - definitivamente vale la pena verificar que aún se genere el archivo de caché – timmow
¿Está seguro de que el componente aún no se almacenará en caché incluso si el texto es prestados dentro de ella? Si eso es cierto, entonces sí, no use el método 3 si quiere un componente almacenable en caché (nunca he usado el método 3, yo mismo) –
+1 para n.2 para mantener las cosas simples – Dziamid