Vistas
From Tlalokes
Tlalokes utliza el patrón de diseño Modelo-Vista-Controlador, donde la función de las vistas es la de presentar el Modelo en un formato adecuado para interactuar, usualmente denominado la interfaz de usuario.
Contents |
Ubicación
Los archivos de vistas se ubican dentro del directorio de la aplicación, en el subdirectorio views. Este directorio a su vez puede contener el subdirectorio blocks en el que se deben colocar los archivos de bloques, en el caso de estar utilizando layouts.
application/
views/
simpletemplate.tpl
example_layout.tpl
blocks/
example_content.tpl
example_sidebar.tpl
Plantillas simples
Esta es la forma más sencilla de manejar la presesentación del contenido: HTML y PHP.
Tlalokes entrega a cada plantilla el contenido del objeto TlalokesResponse desde el Controlador incluyendo el contenido de las variables locales en el archivo de idiomas que le correspondan, y las variables predefinidas del framework.
Ejemplo
Controlador
Ubicación: application/Controller/TestCtl.php
<?
require 'TlalokesCoreController.php';
/**
* @ControllerDefinition( default='test_one' )
*/
class TestCtl extends TlalokesCoreController {
/**
* @ActionDefinition( file='test_one.tpl' )
*/
public function read_one ()
{
$this->response->title = "Primera prueba";
$this->response->content = "Lorem ipsum";
}
/**
* @ActionDefinition( file='test_two.tpl' )
*/
public function test_two ()
{
$this->response->title = "Segunda prueba";
$this->response->content = "Lorem ipsum";
}
}
Idiomas
Ubicación: application/_locales/spa.php
$locale['name'] = 'Spanish'; $l['_keywords'] = 'Prueba, Sitio de ejemplo, Probando Tlalokes'; $l['all_controllers'] = 'Disponible para todos los controladores'; $l['controllers']['TestCtl']['test_actions'] = 'Disponible para todas las acciones del controlador Test'; $l['controllers']['TestCtl']['actions']['test_one']['foo'] = 'Disponible para la acción test_one del controlador Test'; $l['controllers']['TestCtl']['actions']['test_two']['foo'] = 'Disponible para la acción test_two del controlador Test';
Ubicación: application/_locales/eng.php
$locale['name'] = 'English'; $l['_keywords'] = 'Test, example site, Testing Tlalokes'; $l['all_controllers'] = 'Available for every controller'; $l['controllers']['TestCtl']['test_actions'] = 'Available for every action of the Test controller'; $l['controllers']['TestCtl']['actions']['test_one']['foo'] = 'Available for the test_one action of the Test controller'; $l['controllers']['TestCtl']['actions']['test_two']['foo'] = 'Available for the test_two action of the Test controller';
Plantilla
<html> <head> <title><?=$title;?></title> <meta name="keywords" content="<?=$_keywords;?>" /> <link rel="stylesheet" href="<?=$css;?>style.css"/> <script type="text/javascript" src="<?=$js;?>myscript.js"></script> </head> <body> <h1><?=$title;?></h1> <img src="<?=$img;?>logo.png" /> <p><?=$all_controllers;?></p> <p><?=$test_actions;?></p> <p><?=$foo;?></p> </body> </html>
