Vistas

From Tlalokes

Jump to: navigation, search

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>

Smarty

Layouts

Personal tools