Saludos a todos:
Mi nombre es Juan Carlos y soy nuevo con framework y he tenido problema con la filosofía de la vista.
Estado realizando unos controladores para asocias tablas que aparece en la pagina 92 del libro, he entiendo mostrar la información de mil manera y no lo he podido lograr como hago para Mostar la información que se genera en el ejemplo que da el libro sobre asociación tanto una sola respuesta como una lista.
Espero pronto respuesta ya que mi tesis esta detenida por este problema y la tengo que entregar el viernes
Att:
JCAR
Comentarios
Att:
Jcar
class Ciudad extends ActiveRecord {
public function __construct(){
$this->has_many('clientes');
}
}
?>
<?php
class Clientes extends ActiveRecord {
public function __construct(){
$this->belongs_to('ciudad');
}
}
?>
<?
class PruebaController extends ApplicationController {
public function index(){
# Busco el cliente con id = 3
$this->Clientes->find(3);
# Muestro el nombre de la ciudad que corresponde a ese cliente
$this->render_text($this->Clientes->getCiudad()->nombre);
# Busco la ciudad con id=2
$this->Ciudad->find(2);
# Ahora muestro todos los clientes que tenga esa ciudad
foreach($this->Ciudad->getClientes() as $cliente){
$this->render_text($cliente->nombre);
}//fin foreach
}//fin funcion index
}//fin de la clase
?>
segun teoria render_text debe mostrar la informacion en la vista solamente pero nada no muestra nada
esta son las tablas
Table "public.clientes"
Column | Type | Modifiers
+
+
id | integer | not null default nextval('clientes_id_seq')
nombre | character varying(40) |
telefono | character varying(40) |
direccion | character varying(50) |
ciudad_id | integer |
modified_in | date |
fecha_at | date |
estado | character(1) |
Table "public.ciudad"
Column | Type | Modifiers
+
+
id | integer | not null default nextval('ciudad_id_seq')
nombre | character varying(40) |
porfavor espero pronta respuesta necesito saber mostras estas asociasiones
Siguiendo con el tema de las vistas en kumbia. Tengo muy poco tiempo usando kumbia (bueno intentando usarlo), y aun no entiendo como funcionan las vistas, y la documentacion no me queda del todo clara!
Estoy usando la version 0.5.
¿Quisiera saber si es necesario crear una vista por cada controlador?
¿Cómo hago para tener una vista principal, y que solo se modifiquen ciertas partes segun sea necesario?
Porque hasta el momento, he venido copiando el mismo codigo de una vista a otra por controlador, y asi no creo que sea.
No se si en el archivo index.phtml, cree mi vista principal, y despues tenga que modificar solo algunas partes segun el controlador!
Necesito ayuda con esto! estoy desarrollando mi tesis, y no puedo avanzar porque aun no entiendo el tema de las vistas!
Si alguien me puede explicar mas detalladamente como se implementan las vistas, la division en templates, partials y views que hace kumbia, porque no entiendo!
Un ejemplo basico, o algo que me sirva, porque lo del manual no me queda muy claro!
Gracias de antemano!
Atentamente: Wladimir Chopite
<!-- e --><a href="mailto:wchopite@gmail.com">wchopite@gmail.com</a><!-- e -->
"Lo mejor de los booleanos es que si te equivocas, estas a un bit de la solucion".
No, las vistas están asociadas a las acciones de tu controlador, lo que debes hacer es crear una carpeta con el nombre de tu controller que es donde se agrupan las vistas asociadas a ese controller. Siguiendo las convenciones de kumbia por ejemplo si tienes un controller llamado prueba_controller.php entonces deberias tener una carpeta /views/prueba/ y de esta las vistas asociadas al controller.
Existe una vista principal views/index.phtml esta en la vista principal de tu app, que puedes hacer aqui? te doy luces - por ejemplo un banner eso es común en toda la aplicacion entonces si incluyes un banner en ese archivo no te preocuparas por incluirlo en ningun lado ya que el manujo de vistas de kumbia lo hace por ti <!-- s:-) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":-)" title="Smile" /><!-- s:-) -->
Aparte de esto puedes tener layouts, que no son mas que pequeñas(de acuerdo a tu logica) vistas que la puedes incluir de forma dinámica en tu app, un ejemplo de esto puede ser un menu, llamado layouts/menu.phtml y dentro de tu controller lo incluyes... aqui en donde debes poner mucha atencion ya que esa vista (menu.phtml) se colocara donde diga la funcion content(); ya que esta es la que dice en que nivel se mostrara la siguiente vista.
Si te das cuenta ya llevamos varias vistas hagamos un resumen, views/index.phtml aqui kumbia incluye las librerías principales a nivel de vista (js, css, etc) y tiene la función content(); si te das cuenta esta dentro del <body> por defecto, eso puede cambiar por el mismo ejemplo que te puse al principio si colocar un banner, ese siempre se mostrara, ahora si tu defines un layout por ejemplo layouts/menu.phtml este se mostrara donde este el content(); del index.phtml ya que existe una secuencia lógica, te repito este layout llamado menu.phtml debería tener función content() para que se puedan mostrar las vistas de tu controller.
Aquí ya viene la parte sencilla y es mostrar la logica de tu APP que es donde entran las vistas de las acciones de tu controller, para este pequeña prueba te dejo un enlace donde hay un How to bien sencillo y veas el comportamiento, donde también se explica las URL de kumbia algo importante a tener en cuenta.
<!-- m --><a class="postlink" href="http://www.assembla.com/wiki/show/dXO1x-pRGr3le5abIlDkbG/nuestra-primera-aplicacion">http://www.assembla.com/wiki/show/dXO1x ... aplicacion</a><!-- m -->
Debes leer la pagina 113 del manual donde se habla de las vistas, layout, template y partials....
Por ultimo te dejo para que descargues los screencast de kumbia donde puedes apoyarte y te sirve de guía para aprender.
<!-- m --><a class="postlink" href="http://www.kumbiaphp.com/blog/tutoriales-y-screencast/">http://www.kumbiaphp.com/blog/tutoriales-y-screencast/</a><!-- m -->
Éxito!!
Tengo un poco mas claras las cosas ahora!
Voy a probar, y cualquier cosa les comento!
Atentamente: Wladimir Chopite
<!-- e --><a href="mailto:wchopite@gmail.com">wchopite@gmail.com</a><!-- e -->
"Lo mejor de los booleanos es que si te equivocas, estas a un bit de la solucion".