MENU

lunes, 16 de julio de 2012

Dojo + ZendFramework en Ubuntu y con Zend Studio


Primero que nada debemos instalar dojo en el sistema ubuntu. Afortunadamente lo podemos hacer usando el centro de software o lo que nos guste mas para instalar estos paquetes:

libjs-dojo-core
libjs-dojo-dojox
libjs-dojo-dijit

Bien, ahora creamos un nuevo proyecto en Zend Studio, esta guía esta basada en el ejemplo que trae para instalar este programa, donde ya nos crea un entorno como para empezar con layout y todo. El layout es como un contenedor principal que se usa para darle un aspecto general a nuestro sitio web, básicamente es para no repetir código con cosas que van a estar siempre presentes.
Debemos incluir la librería de dojo en el proyecto, para esto es necesario hacer un vinculo simbólico del lugar en donde se instalo a la carpeta public que esta creada en nuestro proyecto. Un vinculo simbólico es como un especie de acceso directo, si no sabemos como hacerlo en google hay bastante información. La idea entonces es hacer este atajo desde:

/usr/share/javascript/
/la/carpeta/de/nuestro/proyecto/public/js

Le llame js al directorio donde van a estar estas librerías de javascript
Como comentario, para dar soporte en la corrección de dojo podemos hacer clic derecho sobre el proyecto Configure->Add Dojo y listo, ya nos corrige.
Ahora si vamos a editar algunos archivos para poder usar los ayudantes de Dojo que tiene el framework. Empecemos por el Bootstrap, aquí es donde debemos agregar algo para inicializar esto:

protected function _initViewHelpers(){
        $this->bootstrap('view');
        $view = $this->getResource('view');
        Zend_Dojo::enableView($view); }

Esta funcion debe si o si empezar con _initAlgo, en este caso se llama _initViewHelpers()
Luego, editamos el layout, esto que voy a poner es practicamente igual que la documentacion original de Zend:

<?php echo $this->doctype() ?>

<html>

<head>

    <?php echo $this->headTitle() ?>

    <?php echo $this->headMeta() ?>

    <?php echo $this->headLink() ?>

    <?php echo $this->headStyle() ?>

<?php if ($this->dojo()->isEnabled()){

    $this->dojo()->setLocalPath('/js/dojo/dojo.js')

                 ->addStyleSheetModule('dijit.themes.claro');

    echo $this->dojo();

   }

?>

    <?php echo $this->headScript() ?>



</head>

<body class="claro">

    <?php echo $this->layout()->content ?>

    <?php echo $this->inlineScript() ?>

</body>

</html>


En el controlador podemos crear un botón para ver como seria:

    public function indexAction()

    {

        $boton = new Zend_Dojo_Form_Element_Button('Prueba');                                         

        $this->view->boton = $boton;

    }


Y en la vista (index.phtml) lo mostramos:

echo $this->boton;
?>

Si probamos en nuestro navegador deberíamos ver algo como esto:


No hay comentarios:

Publicar un comentario