4,395
edits
No edit summary |
|||
| Line 68: | Line 68: | ||
==Añadir sus pestañas en las fichas entidad== | ==Añadir sus pestañas en las fichas entidad== | ||
''' | '''Cuándo''' : Para añadir su propia pestaña en las pestañas estandard de una ficha entidad (factura, pedido, presupuesto, miembro...) | ||
Para ello, vaya al archivo descriptor del módulo creado anteriormente y modifique la tabla $this->tabs: | Para ello, vaya al archivo descriptor del módulo creado anteriormente y modifique la tabla $this->tabs: | ||
| Line 107: | Line 107: | ||
== Añadir pestañas de una ficha entidad hoja en su propia página == | == Añadir pestañas de una ficha entidad hoja en su propia página == | ||
''' | '''Cuándo''' : Para mostrar las pestañas estandard de ficha entidad (producto, tercero, etc.) en su propia pestaña de una entidad. | ||
Hay que hacer lo siguiente : | Hay que hacer lo siguiente : | ||
| Line 221: | Line 221: | ||
== Acceso a la base de datos == | == Acceso a la base de datos == | ||
Si | Si necesita realizar modificaciones en su tabla de la base de datos, utilice la clase generada más arriba. | ||
Si de todos modos | Si de todos modos quiere acceder a las tablas sin objeto PHP dedicado, esto es posible (por ejemplo para recuperar una lista de registros). En ese caso, piense en seguir estos ejemplos. | ||
Para un ''insert'', ''update'' o ''delete'': | Para un ''insert'', ''update'' o ''delete'': | ||
| Line 269: | Line 269: | ||
== Utilizar el selector de datos de Dolibarr == | == Utilizar el selector de datos de Dolibarr == | ||
Si | Si quieree, puede beneficiarse del selector de datos en las pantallas Dolibarr. Para ello, utilice la siguiente línea: | ||
<source lang="php"> | <source lang="php"> | ||
$form=new Form($db); | $form=new Form($db); | ||
| Line 283: | Line 283: | ||
</source> | </source> | ||
= [[File:Art.png]] Definir | = [[File:Art.png]] Definir su página de configuración (opcional) = | ||
'''Cuándo:''' Si | '''Cuándo:''' Si su módulo ofrece varias opciones parametrizables. | ||
==Crear | ==Crear su página de edición de configuración== | ||
Si | Si su módulo ofrece varias opciones parametrizacles, es necesario crear una página PHP para editar las opciones (que serán guardadas en la [[Table llx_const|tabla '''llx_const''']]). Cree una página PHP llamada '''mimodulo_setuppage.php''', que registre las opciones posibles y las ponga al día. Es necesario tomar como ejemplo una página de '''/admin''' que le muestre el método para leer o guardar en la base de datos su opción. Coloque esta página de configuración también en el directorio '''/admin'''. A continuación, en el descriptor del módulo, modifique la variable para indicar el nombre de esta página PHP (no es necesario modificar la ruta, ya que la página estará forzosamente en el directorio '''/admin'''). | ||
<source lang="php"> | <source lang="php"> | ||
$this->config_page_url = array("monmodule_setupapage.php"); | $this->config_page_url = array("monmodule_setupapage.php"); | ||
</source> | </source> | ||
== Probar | == Probar su página == | ||
Vaya a la página '''Configuración > módulo'''. Debería aparecer un icono que permite acceder a la página de configuración, y debería poder modificar estas opciones y verlas en la base de datos. | |||
= [[File:Art.png]] Definir | = [[File:Art.png]] Definir sus entradas de menú (opcional) = | ||
'''Cuándo:''' Si | '''Cuándo:''' Si ha creado páginas PHP, es necesario que estas pantallas sean accesibles desde el menú Dolibarr. | ||
== Definir | == Definir sus entradas de menú== | ||
Para ello, hace falta definir en el | Para ello, hace falta definir en el archivo descriptor de menú de tabla this->menu, que declara los menús. | ||
Esta tabla contiene todas las entradas que aparecerán en los menús una vez que el módulo sea activado. Los | Esta tabla contiene todas las entradas que aparecerán en los menús una vez que el módulo sea activado. Los archivos de descriptor de módulo contienen un ejemplo de cómo se declara el menú superior, así como las entradas correspondientes en el menú de la derecha | ||
He aquí un ejemplo de declaración de entradas de menú en el fichero descriptor: | He aquí un ejemplo de declaración de entradas de menú en el fichero descriptor: | ||
| Line 342: | Line 342: | ||
Para condicionar el acceso al menú segun los permisos, modificar la propiedad '''perms''' de la tabla. Ver el capítulo sobre permisos, un poco más abajo, para saber como realizar los permisos. | Para condicionar el acceso al menú segun los permisos, modificar la propiedad '''perms''' de la tabla. Ver el capítulo sobre permisos, un poco más abajo, para saber como realizar los permisos. | ||
== Probar | == Probar sus entradas de menú == | ||
Desactive y reactive su módulo bajo Dolibarr. Las entradas del menú deberían aparecer después de hacerlo (si la condición 'enabled' está activada). | |||
= [[File:Art.png]] Definir | = [[File:Art.png]] Definir sus propios permisos (opcional) = | ||
'''Cuándo:''' Si | '''Cuándo:''' Si quiere añadir nuevos permisos. | ||
La definición de permisos que gestionará | La definición de permisos que gestionará su módulo se hace en el archivo descriptor creado en la primera fase. Modifique la línea $this->rights_class = 'facture' para que diga: | ||
<source lang="php"> | <source lang="php"> | ||
$this->rights_class = 'mimodulo'; | $this->rights_class = 'mimodulo'; | ||
</source> | </source> | ||
A continuación, | A continuación, rellene la tabla $this->rights con tantas entradas como permisos diferentes vaya a definir: | ||
<source lang="php"> | <source lang="php"> | ||
$this->rights[$r][0] = 10001; | $this->rights[$r][0] = 10001; | ||
| Line 363: | Line 363: | ||
</source> | </source> | ||
En $this->rights[$r][0], | En $this->rights[$r][0], introduzca un id de permiso que no haya sido ocupado ya (para saber qué id están siendo ya utilizadas, ver el menú '''Información del Sistema''' en una instalación de Dolibarr que esté funcionando. En $this->rights[$r][3], introduzca 1 si este permiso se atribuye por defecto a los usuarios según son creados. En $this->rights[$r][1] introduzca un texto por defecto -que será mostrado si no se encuentra traducción para su permiso en el archivo '''admin.lang'''). En $this->rights[$r][4] y $this->rights[$r][5], introduzca una cadena de acción y subacción sin espacios. Después puede probar si un usuario tiene los permisos bien, introduciendo la siguiente secuencia en el código PHP: | ||
<source lang="php"> | <source lang="php"> | ||
if ($user->rights->mimodulo->accion->subaccion) ... | if ($user->rights->mimodulo->accion->subaccion) ... | ||
</source> | </source> | ||
= [[File:Art.png]] Definir | = [[File:Art.png]] Definir sus propias cajas (opcional) = | ||
'''Cuándo:''' Si | '''Cuándo:''' Si su módulo tiene una o varias cajas. | ||
== | == Defina sus cajas == | ||
Para ello, | Para ello, modifique las tablas $this->boxes del archivo descriptor de módulo. Es suficiente con añadir una línea por cada archivo de caja que se encuentre en el directorio '''htdocs/includes/boxes'''. | ||
Ejemplo: | Ejemplo: | ||
| Line 383: | Line 383: | ||
</source> | </source> | ||
A continuación | A continuación cree los archivos mabox0.php, mabox1.php... tomando como ejemplo las cajas existentes (en el directorio htdocs/include/boxes) | ||
== | == Pruebe sus cajas en Dolibarr == | ||
Vaya al menú '''Bienvenida – Configuración – Caja'''. Sus cajas deben aparecer en la lista de cajas activables. Actívelas, vaya a la página de bienvenida y verifique que se muestran correctamente. | |||
= [[File:Art.png]] Definir | = [[File:Art.png]] Definir sus propias exportaciones (opcional) = | ||
'''Cuándo:''' Si | '''Cuándo:''' Si su módulo incorpora exportaciones predefinidas de datos (tanto para sus propias tablas o para otras tablas existentes de otros módulos de Dolibarr) | ||
== Definir la exportación == | == Definir la exportación == | ||
Para ello, | Para ello, descomente y modifique las tablas $this->export_xxx de su archivo descriptor de módulo. | ||
== Probar la exportación == | == Probar la exportación == | ||
Vaya al menú "Herramientas > Exportar" de Dolibarr. Su exportación debería aparecer en la lista de exportaciones predefinidas disponibles (si su módulo ha sido activado correctamente). Deberían aparecer, para que pudiera elegirlos, los campos que definió en la fase anterior en las tablas correspondientes. Seleccione algunos campos y pruebe a generar un archivo de exportación. | |||
= [[File:Art.png]] Definir | = [[File:Art.png]] Definir sus estilos CSS (opcional) = | ||
'''Cuándo:''' Si en | '''Cuándo:''' Si en sus pantallas PHP utiliza clases de estilos distintas a las de los temas de Dolibarr. | ||
Esta funcionalidad todavía no es operativa en la versión 2.4., a pesar de estar ya descrita. | Esta funcionalidad todavía no es operativa en la versión 2.4., a pesar de estar ya descrita. | ||
= [[File:Art.png]] Definir | = [[File:Art.png]] Definir sus funciones Javascript (opcional) = | ||
Esta funcionalidad ya no existe. | Esta funcionalidad ya no existe. | ||
= [[File:Art.png]] Ejecutar código sobre un evento Dolibarr (opcional)= | = [[File:Art.png]] Ejecutar código sobre un evento Dolibarr (opcional)= | ||
'''Cuándo:''' Si | '''Cuándo:''' Si quiere que se ejecuten acciones particulares al activar ciertas acciones estandar de Dolibarr (por ejemplo, si deseáramos actualizar una tabla de mi módulo cada vez que se crea una factura en Dolibarr), hará falta crear un archivo '''disparador (triggers)'''. | ||
Véase también [[Interfaces Dolibarr hacia el exterior]] e [[Interfaces del Exterior hacia Dolibarr]] | Véase también [[Interfaces Dolibarr hacia el exterior]] e [[Interfaces del Exterior hacia Dolibarr]] | ||
= [[File:Art.png]] Crear un paquete para liberar e instalar | = [[File:Art.png]] Crear un paquete para liberar e instalar su módulo = | ||
* | * Vaya al directorio '''/build''' y copie el archivo '''makepack-dolibarrmodules.conf''' como '''makepack-mimodulo.conf'''. Cuidado: este directorio puede no ser suministrado en los paquetes de versión estables. Si es el caso, puede bajarte la última snapshot CVS en la sección de Downloads del sitio de Dolibarr con el nombre “Development Version” (tome en este caso todos los directorios que sean autónomos e independientes de la versión). | ||
Teclee en este archivo la lista de nombres de los nuevos archivos que ha creado para su módulo (descriptor de módulo, nuevos ficheros sql de tablas, páginas php, imágenes, etc...) | |||
* | * Lance el script vía Perl (necesita la versión 5.0. o superiores de Perl) | ||
<source lang="bash"> | <source lang="bash"> | ||
perl makepack-dolibarrmodule.pl | perl makepack-dolibarrmodule.pl | ||
</source> | </source> | ||
El script | El script le pide el nombre de su módulo, su versión más reciente y la más antigua. Se va a crear un fichero '''mimodulo.tgz''', que incluirá su módulo listo para ser desplegado. | ||
* La persona que reciba | * La persona que reciba su módulo deberá ubicar el archivo en el directorio raíz de Dolibarr y ejecutar el comando: | ||
<source lang="bash"> | <source lang="bash"> | ||
tar -xvf monmodule.tgz | tar -xvf monmodule.tgz | ||
</source> | </source> | ||
* Si | * Si desea que su módulo sea aprovechado por todos, puede enviarlo (el fichero tgz) al sitio web de Dolibarr, en la sección de descargas: http://www.dolibarr.org -> downloads -> contrib -> submit a file (debe de haber creado una cuenta y estar logeado para que aparezca el link). | ||
** Si | ** Si su módulo está correctamente realizado, será rápidamente validado. | ||
** Si la calidad es suficiente, la licencia lo permite y la funcionalidad del módulo es de interés general, el código podrá añadirse al código fuente de Dolibarr (salvo que no lo | ** Si la calidad es suficiente, la licencia lo permite y la funcionalidad del módulo es de interés general, el código podrá añadirse al código fuente de Dolibarr (salvo que no lo desee). | ||