Creando un blog con Zend Framework – Parte 4

Creando un blog con Zend Framework – Parte 4

Primero que nada quiero contarles que se unió scramatte al grupo de trabajo del Blog. Scramatte va a estar desarrollando junto conmigo todo el proyecto, todavía no hay una convocatoria abierta a participar del desarrollo pero los que tengas ganas pueden dejar su comentario.

Esta incorporación voluntaria es muy importante para el proyecto ya que Scramatte ya había empezado a desarrollar un blog con Zend Framework, y tiene bastante experiencia. Si hacen un update del proyecto van a notar grandes cambios. Y digo grandes, porque ya tenemos un Diseño de base de datos mas completo, acorde a las necesidades, y el sistema en el frontend ya adquirió mucha de las funcionalidades.

Por el lado del backoffice (backend/admin), tome prestado otro estilo, no va a ser el definitivo, pero necesitaba una estructura para trabajar. También incorpore el plugin de Zsamer para el manejo de errores. El login ya tomo un poco de forma, y solucionamos algunos problemas con las vistas.

En la parte anterior vimos el uso de módulos dentro de nuestros sistemas. Y anticipamos el ABML de módulos como el de usuario, para los abml vamos a usar los ejemplos de CRUD también del blog de Zsamer, que a mi gusto están muy bien hechos, y además ya podemos usar el manejador de errores.

Otro cambio importante, y es lo que voy a tratar de explicar hoy es la incorporación de 3 externals nuevos. Estos externals son los componentes que necesita Dojo. Voy a hacer lo posible por implementar de la mejor manera este componente, porque tal como me lo describió scramatte, es un monstruo. Lo mas fácil seria usar Mootools o Jquery, pero Zend_Dojo, me parece el mas completo. Por ahora solo vamos a usar Zend Dojo View Helpers.

Lo primero que tenemos que hacer es agregar estos 3 Dojo toolkit como externals, que es la manera correcta de hacerlo, en la carpeta webroot para que pueda ser accedida públicamente, lo ideal seria tener un branch propio donde tengamos el ultimo release de estas Dojo Toolkit en nuestros propios repositorio, pero por ahora no va a hacer falta, y vamos a agregar directamente los repositorios de dojo.

Una vez tengamos los dojo toolkits dentro de nuestro webroot tenemos que habilitar Zend_Dojo en nuestro sistema. La forma que por ahora vamos a usar en nuestro proyecto es poner el código dentro de nuestro plugin de View, y como por ahora solo vamos a usarlo en el Backoffice, vamos a habilitarlo ahí solamente. El código para habilitar Zend_Dojo es el siguiente.

  1.  
  2. <?php
  3. /**
  4. * Agregamos los helpers de Dojo
  5. */
  6. $this->_view->addHelperPath( ‘Zend/Dojo/View/Helper/’, ‘Zend_Dojo_View_Helper’ );
  7. /**
  8. * Ahora habilitamos Zend_Dojo en nuestra vista
  9. */
  10. Zend_Dojo::enableView( $this->_view );
  11. /**
  12. * Configuracion de Dojo
  13. */
  14. $this->_view->dojo()->setDjConfigOption( ‘parseOnLoad’, false );
  15. $this->_view->dojo()->setDjConfigOption( ‘userPlainJson’, true );
  16. Zend_Dojo_View_Helper_Dojo::setUseDeclarative();
  17.  

Ahora desde nuestro layout vamos a cargar la librería dojo, como dice el Manual de Zend Framework. Desde el header html de nuestro layout agregamos la siguientes lineas.

  1.  
  2.         <?php
  3.             if ( $this->dojo()->isEnabled() ) {
  4.                 $this->dojo()->setLocalPath(‘/js/dojo/dojo.js’);
  5.                 echo $this->dojo();
  6.             }
  7.         ?>      
  8.  

Esto despues de <?= $this->headScript() ?>.

Con esto ya podemos usar los helpers de Zend_Dojo, y tenemos habilitado la libreria de Dojo. Se que es mas dificil que.

<script src="http://www.google.com/jsapi"></script>
<script>google.load("mootools", "1.11");</script>

Pero a la larga vamos a apreciar esto. La gran integracion de Dojo con Zend Framework es algo muy favorable, y agil. 

En proximas entregas vamos a tratar de darle un poco mas de onda a nuestro backoffice haciendo uso de estas librerias.