probela con las vistas

edited diciembre 2008 in Principiantes
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

  • q versión estas trabajando?
  • con la version 4.7, por favor necesito sus respuesta lo mas pronto posible
  • te recomiendo que te migres a la versión 0.5 es mas estable y rapida...
  • Gracias por la apreciación no obstante me puedes regalar el código que me permita mostrar esa información en pantalla yo de todas forma voy a seguir tu consejo

    Att:
    Jcar
  • Muestrame el código que vienes utilizando...
  • <?php
    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
  • viejo tambien me regala su msn
  • ok una pregunta tu tienes la vista index.phtml asociada a ese controller...?
  • si, en teoria cuando muentre la informacion en la vista deberia mostrar la informacion en index.phtml por medio de la lienea de codigo render_text pero no me muestra nada y el problema es que me quedan 3 dias para terminar tesis y la parte de las paginas me tiene detenido
  • pero la pregunta es: colocaste tienes la vista index.phtml y dentro de esta vista tienes la función content();?
  • bueno en la vista no, mas aun solo he hecho el archivo phtml y nada mas por que la configuracion a la base de datos lo configuro con un archivo dekumbia
  • debes crear el index.phtml en la vista de esa action y haciendo uso de la funcion content() ya que asi es que kumbia se entera donde se va a mostrar el contenido...
  • edited 8:09
    Buenas tardes a todos!

    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".
  • hay ciertos demos que pueden servirte para guiarte...
    ¿Quisiera saber si es necesario crear una vista por cada controlador?
    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!!
  • edited 8:09
    Muchas gracias por la respuesta!

    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".
Sign In or Register to comment.