Atributo Template
1Presentación
El atributo \Temma\Attributes\Template define la ruta del archivo de template que debe usarse para un controlador o una acción.
2Parámetros
El atributo ofrece dos parámetros:
-
$template: (null|string) Ruta del archivo de template que debe usarse.
Equivalente al método _template() de los controladores.
Este parámetro puede definirse explícitamente como null, en cuyo caso se usa el valor por defecto (controller/action.tpl).
-
$prefix: (null|string) Prefijo que se añadirá a la ruta del template que se va a usar.
Equivalente al método _templatePrefix() de los controladores.
Este parámetro puede definirse explícitamente como null, en cuyo caso el prefijo del template se reiniciará.
3Ejemplos
Para que todas las acciones de un controlador usen el mismo template:
use \Temma\Attributes\Template as TµTemplate;
#[TµTemplate('myController/index.tpl')]
class MyController extends \Temma\Web\Controller {
// ...
}
Para que una acción específica use el template definido:
use \Temma\Attributes\Template as TµTemplate;
class MyController extends \Temma\Web\Controller {
#[TµTemplate('otherController/someAction.tpl')]
public function myAction() {
// ...
}
}
Para añadir un prefijo a los templates de todas las acciones de un controlador:
use \Temma\Attributes\Template as TµTemplate;
#[TµTemplate(prefix: 'special')]
class MyController extends \Temma\Web\Controller {
// usa el template "special/myController/myAction.tpl"
public function myAction() {
// ...
}
// usa el template "special/index.tpl"
#[TµTemplate('index.tpl')]
public function action2() {
// ...
}
// usa el template "myController/action3.tpl"
#[TµTemplate(prefix: null)]
public function action3() {
// ...
}
}