Serie de dudas con primer proyecto

edited julio 2008 in Principiantes
Hola a todos, y gracias a quienes se animen a darme una mano.

Estoy desarrollando mi primer proyecto con Kumbia y aunque estoy maravillado, aun tengo una serie de dudas, lagunas, problemas, etc.

No quise abrir un tema por duda, preferí montar mi proyecto en un server temporal y poner el listado de mis dudas, que no son muchas a decir verdad.

Dato: Uso la versión 5.1 (descargada del svn, asi que es la mas actual) y el sitio temporal está en http://www.demicali.com y la parte hecha en Kumbia está desde http://www.demicali.com/sitio/quienes la parte inicial es un Blog con Wordpress.

1. Validación de formularios del lado del cliente: Vi en el libro una serie de validaciones pero creo que son solo para standard forms, igual las probé y no me funcionó. ¿Cómo valido campos de formularios, por ejemplo el de contacto?

2. Lo mismo (validaciones), pero en el servidor.

3. No he podido con el uso de Flash::error y Flash::succes, no se que poner en la vista, no se porque no me funcionan (lo hago igual al libro y no me funcionan)

4.¿Como puedo mejorar la carga del sitio? Aunque no es un sitio complejo, ni tiene múltiples peticiones a la base de datos, y puedo asegurar que el código es óptimo (Xhtml y Css) siento muy pesada la página al cargar.

Mil gracias.

Comentarios

  • edited 3:24
    Hola:

    3. No he podido con el uso de Flash::error y Flash::succes, no se que poner en la vista, no se porque no me funcionan (lo hago igual al libro y no me funcionan)

    Tienes que poner tu Flash en el controlador y despues en la parte de la vista que quieres que aparezca pones <? content() ?>

    4.¿Como puedo mejorar la carga del sitio? Aunque no es un sitio complejo, ni tiene múltiples peticiones a la base de datos, y puedo asegurar que el código es óptimo (Xhtml y Css) siento muy pesada la página al cargar.

    Esto mas que nada es cuestión de buenas practicas ... por ejemplo al insertar algo en la Base de Datos, por ejemplo un usuario a traves de un formulario. En el controlador recibes los datos mediante POST (por ejemplo) del usuario (nombre y apellidos), pues antes de realizar cualquier acción con la BD, comprobar que se ha enviado un nombre y apellidos:
    $nombre = $this-&gt;post(&quot;nombre&quot;);
    $apellidos = $this-&gt;post(&quot;apellidos&quot;);
    if( !empty($nombre) &amp;&amp; !empty($apellidos) ){
    
                HACER CUALQUIER CONSULTA CON LA BD
    }
    else
            Flash&#58;&#58;error(&quot;Tienes que rellenar todos los campos&quot;);
    

    Esto tambien te sirve para la parte de validacion en cliente (ese codigo no valida que codigo esta vacio ... pero puedes hacer varios IFs, uno para cada campo.


    Un saludo
  • edited 3:24
    Otra cosa respecto al tema 4 (codigo optimo) sería utilizar layout (partes de la pagina que siempre son iguales, estilo el menu) es decir, si tu pagina siempre tiene la misma estructura
    ===========================================================
    =                                                         =
    =                   BANNER                                 =
    =                                                         =
    ===========================================================
    |                |                                          | 
    |                |                                          |
    |                |                                          |
    |    MENU     |           CONTENIDO               |
    |                |                                          |
    |                |                                          |
    |                |                                          |
    |                |                                          |
    ----------------------------------------------------------
    
    /app/default/view/layout/estructura.phtml


    Puedes tener un layout con esa estructura y en la parte del CONTENIDO, pones <? content() ?>

    Posteriormente en el controlador tendrias que poner:

    $template = "estructura"; //nombre del layout


    Un saludo
  • edited 3:24
    Hola wiggly, gracias por responder.

    En cuanto al uso de Flash:: lo uso en el controlador, y en la vista ya tengo <? content() ?>, pero igual no me sale nada, no se si su uso haya cambiado para la versión 5.1.

    La carga, entiendo lo que dices, pero imaginate que incluso en páginas que solo tienen contenido estático (nada de consultas a la BD) siento una carga muy lenta, y no es el servidor, lo he probado con otras webs y todo muy bien, tampoco es mi conexión, lo demás anda perfecto.

    PD. Acabo de ver l aultima parte de tu respuesta, y si, asi lo uso, el layout principal tiene todo lo que es ocnstante en la página, lo que se repite, y solo el contenido en cada view.

    Con mi pregunta de la carga me refería mas que todo a un sistema de cache, saber si está implementado o si se puede implementar. Estoy seguro que mi código es óptimo.

    Muchisimas gracias por responder.
  • tu puedes cachear las vistas kumbia te permite esa opcion...

    otra cosita es la versión 0.5-RC1 y no la 5.1 esto para evitar confusión entre los miembros de la comunidad o de las personas que se esten incorporando al mismo...

    Respecto al Flash eso funciona perfectamente debe ser algun problema de implementacion por parte tuya, esto funciona de la siguiente manera...

    hola_controller.php
    class HolaController extends ApplicationsController {
    
       public function saludando(){
          Flash&#58;&#58;notice(&quot;Bienvenido&quot;);
       }
    }
    

    Como vez arriba es un controller que lo he llamado hola y el solo tiene una action que se llama saludando que representa en este caso un vista también porq deseo mostrarle información al usuario que realice esta petición

    debes tener un vista en apps/default/views/hola/saludando.phtml y dentro de ella solo colocas la funcion content()
    &lt;? echo content() ?&gt;
    

    Con estas instrucciones ya te debe funcionar el Flahs, sin problema...

    Respecto a la carga de la pagina considero que esta bien, sin embargo puedes mejorar esto utilizando cache...
  • edited 3:24
    Hola deivinsontejeda, gracias por tu respuesta, ya pude manejar los Flash, lo que pasaba era que como tenía el <? content() ?> en el layout crei que bastaba, pero lo puse también en la vista y ya.

    Con respecto a cacehar las vistas, como lo hago?

    Gracias.
  • $this->cahe_view($minute) en el manual creo que lo dice echale un vistazo a ver...
  • edited 3:24
    $this->cahe_view($minute) en el manual creo que lo dice echale un vistazo a ver...

    Hola, si, olvidé mencionar que había visto eso en el libro, pero me refería a que no se como darle uso, por ejemplo, $minutes hace referencia al tiempo que la quiero cacheada? si es así ¿cuanto tiempo se aconseja? y se pone en el controlador supongo, ¿pero a nivel general o de cada vista?

    Gracias.
Sign In or Register to comment.