Desarrollo de un módulo: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 11: Line 11:


etc. Todas estas operaciones sólo están disponibles a partir de la versión 2.4 de Dolibarr.
etc. Todas estas operaciones sólo están disponibles a partir de la versión 2.4 de Dolibarr.
Los capítulos siguientes describen cómo hacer todo esto manualmente de manera sencilla. Para los desarrolladores experimentados, se está desarrollando un método de generación de MDA.Véase el último capítulo para consultar.




Line 16: Line 18:
'''Cuándo''': Obligatorio cada vez que se desarrolla una extensión, cualquiera que sea su finalidad.
'''Cuándo''': Obligatorio cada vez que se desarrolla una extensión, cualquiera que sea su finalidad.


== Crear tu descriptor ==
== Crear su descriptor ==
La primera fase es la de crear un fichero descriptor del módulo. Para ello, ve al directorio '''dev/skeletons''' y copia el fichero "modMyModule.class.php" en el directorio '''htdocs/includes/modules'''. A continuación, modifica el contenido de este fichero con el fin de reemplazar:
La primera fase es la de crear un fichero descriptor del módulo. Para ello, vaya al directorio '''dev/skeletons''' y copie el archivo "modMyModule.class.php" en el directorio '''htdocs/includes/modules'''. A continuación, modifique el contenido de este archivo con el fin de reemplazar:
* los "modMyModule" por un valor que corresponda a la finalidad de tu módulo. Este valor debe siempre comenzar por mod.  
* los "modMyModule" por un valor que corresponda a la finalidad de su módulo. Este valor debe siempre comenzar por mod.  
* $this->numero = 10000 por un número de módulo que esté libre (Para saber qué números ya están siendo utilizados, vaya a la página "'''Inicio-> Info sistema-> Dolibarr-> Módulos'''")
* $this->numero = 10000 por un número de módulo que esté libre (Para saber qué números ya están siendo utilizados, vaya a la página "'''Inicio-> Info sistema-> Dolibarr-> Módulos'''")
* Modificar eventualmente otras variables definidas por los desarrolladores (ver el comentario en el código del esqueleto para ver su significado)
* Modificar eventualmente otras variables definidas por los desarrolladores (ver el comentario en el código del esqueleto para ver su significado)
* Crear la carpeta /htdocs/mimodulo/  
* Crear el directorio /htdocs/mimodulo/  
Ahora tu fichero descriptor está configurado.
Ahora su fichero descriptor está configurado.
 
== Probar tu descriptor ==
Ejecuta Dolibarr y ve a la página "Configuración > Módulo". Debería aparecer una nueva línea con tu nuevo módulo y la posibilidad de activarlo o no (echa un vistazo a todas las pestañas de cada categoría para encontrarlo). Es el valor $this->special  el que determina en qué pestaña se encuentra tu módulo.
 


= [[File:Art.png]] Crear tus tablas SQL y la clase PHP de los métodos de acceso (opcional) =
== Probar su descriptor ==
'''Cuándo:''' Si tu módulo necesita gestionar sus propios datos.
Ejecute Dolibarr y vaya a la página "Configuración > Módulo". Debería aparecer una nueva línea con su nuevo módulo y la posibilidad de activarlo o no (eche un vistazo a todas las pestañas de cada categoría para encontrarlo). Es el valor $this->special el que determina en qué pestaña se encuentra su módulo.


==Crear tus ficheros .sql==
Si tu módulo de verdad requiere administrar datos que no existen en la base de datos en la versión estándar de Dolibarr, será necesario definir ciertas tablas SQL para registrar esos datos.


Los ficheros propios de tu módulo deben estar ubicados en un directorio localizable.
= [[File:Art.png]] Crear su tablas SQL y la clase PHP de los métodos de acceso (opcional) =
'''Cuándo:''' Si su módulo necesita gestionar sus propios datos.


Crea un subdirectorio sql en el directorio de tu módulo (por ejemplo, htdocs/mimodulo/sql), con el fin de color los scripts sql que vas a crear. A continuación, en la función load_tables de tu fichero descriptor, modifica la línea
==Crear sus ficheros .sql==
Si su módulo de verdad requiere administrar datos que no existen en la base de datos en la versión estándar de Dolibarr, será necesario definir ciertas tablas SQL para registrar esos datos.


<source lang="php">
Cree un subdirectorio sql en el directorio de su módulo (por ejemplo, htdocs/mimodulo/sql), con el fin de colocar los scripts sql que va a crear.
$dir = DOL_DOCUMENT_ROOT.'/mymodule/sql/';
</source>
por
<source lang="php">
$dir = DOL_DOCUMENT_ROOT.'/mimodulo/sql/';
</source>


''Regla a respetar:''  
''Regla a respetar:''  
* Agrega los ficheros de orden de creación de tus tablas al principio de un fichero '''llx_mitabla.sql'' por tabla, eventualmente acompañado del fichero '''llx_mitabla.key.sql''' (ver los ficheros existentes en ''includes/mysql/tables'', por ejemplo).  
* Agregue los archivos de orden de creación de sus tablas siguiendo el principio de un fichero '''llx_mitabla.sql'' por tabla, eventualmente acompañado del archivo '''llx_mitabla.key.sql''' (ver los archivos existentes en ''includes/mysql/tables'', para tomar ejemplo).  
* En términos de orden de gestión de datos, todos deben estar en un archivo llamado '''data.sql''' situado en la misma carpeta '''/mimodulo/sql/'''.
* En términos de orden de gestión de datos, todos deben estar en un archivo llamado '''data.sql''' situado en la misma carpeta '''/mimodulo/sql/'''.


Line 56: Line 48:
</source>
</source>


Las órdenes SQL de los ficheros deben de ser operacionales para la base de datos '''mysql'''.
Las órdenes SQL de los archivos deben de ser operacionales para la base de datos '''mysql'''.
Nota: Los archivos de otras bases de datos no se mantienen. Se leen y se convierten al vuelo por el driver de la base de datos.
Nota: Los archivos de otras bases de datos no se mantienen. Se leen y se convierten al vuelo por el driver de la base de datos.


== Probar tu fichero .sql ==
== Probar su archivo .sql ==
Una vez que los ficheros estén listos, puedes volver a Dolibarr para desactivar el módulo, eliminar las tablas de la base de datos y reactivar el módulo. Las tablas deben ser recreadas por la activación del módulo. Si no es así, verifica tus scripts o consulta los logs Dolibarr.
Una vez que los archivos estén listos, puede volver a Dolibarr para desactivar el módulo, eliminar las tablas de la base de datos y reactivar el módulo. Las tablas deben ser recreadas por la activación del módulo. Si no es así, verifique sus scripts o consulte los logs Dolibarr.
 


== Generar la clase PHP de acceso ==
== Generar la clase PHP de acceso ==
Una vez que tu/s tabla/s estén creadas en la base de datos, ve al directorio '''dev/skeletons''' y ejecuta el script
Una vez que su/s tabla/s estén creadas en la base de datos, vaya al directorio '''dev/skeletons''' y ejecute el script
<source lang="bash">
<source lang="bash">
  php build_class_from_table.php nombretabla
  php build_class_from_table.php nombretabla
</source>
</source>
Nota: Si el comando no funciona, intenta con php-cli en lugar de php.
Nota: Si el comando no funciona, intente con php-cli en lugar de php.


Esto genera un fichero '''out.nombretabla.class.php''' que contiene la clase de gestión de la tabla “nombretabla”. En esta clase se encuentran los métodos CRUD (Create/Read/Update/Delete) ya operativos para hacer un ''insert'', un ''fetch'' (''select''), un ''update'', y un ''delete'' de una línea de la tabla. Suprime justo el "out" del nombre del fichero y ponlo en un subdirectorio de '''htdocs''' propio en tu módulo (Por ejemplo en '''htdocs/mimodulo''').
Esto genera un archivo '''out.nombretabla.class.php''' que contiene la clase de gestión de la tabla “nombretabla”. En esta clase se encuentran los métodos CRUD (Create/Read/Update/Delete) ya operativos para hacer un ''insert'', un ''fetch'' (''select''), un ''update'', y un ''delete'' de una línea de la tabla. Suprima justo el "out" del nombre del archivo y pógalo en un subdirectorio de '''htdocs''' propio en su módulo (Por ejemplo en '''htdocs/mimodulo''').


Un fichero '''out.nombretabla_script.php''' se genera igualmente y contiene un ejemplo de código para utilizar la clase para cada uno de los cuatro métodos CRUD.
Un archivo '''out.nombretabla_script.php''' se genera igualmente y contiene un ejemplo de código para utilizar la clase para cada uno de los cuatro métodos CRUD.


= [[File:Art.png]] Crear tus páginas pantalla PHP (opcional)=
= [[File:Art.png]] Crear tus páginas pantalla PHP (opcional)=

Navigation menu