| d-transport
Como va este tema ya se ha solucionado... |
9/6/2009 8:40:17 |
| EXM System Next Version & Translate
I also wish to translate it to Bulgarian, any news regarding version 1.2 of EXM ?... |
8/6/2009 17:36:21 |
| un error en la instalacion
en si no se si el problema sea mio o del script ... pero les detallo cuando estaba instalando en el... |
6/6/2009 19:48:04 |
| d-transport
Gracias por la información... voy a verificarlo ... |
27/4/2009 5:39:01 |
| d-transport
No se envia la notificacion cuando se envia un comentario cual puede ser el problema o el modo no ad... |
26/4/2009 17:25:48 |
| EXM System Next Version & Translate
Ok! I will wait! It is necessary to add EXM System in the catalogue http://opensourcecms.com/... |
23/4/2009 11:56:05 |
El archivo xoops_version.php se compone de una variable (matriz) que contiene toda la configuración básica para el módulo. Es precisamente este archivo el que lee exm para instalar y configurar un módulo específico, por tanto todos los módulos deben contar con este archivo.
La variable contenida en este archivo es $modversion y según sus índices se divide en las siguientes secciones:
| Clave | Descripción | Valores |
|---|---|---|
| name | Nombre por Defecto del Módulo. | Constante o cadena con el nombre del módulo. |
| description | Descripción del módulo | Puede ser una constante de lenguaje o una cadena |
| version | Arreglo con información de la versión | Array(‘number’=>int, ’revision’=>intval, ‘status’=>-3 to 0,’name’=>’Nombre’); |
| author | Autor del Módulo | Cadena con el nombre del Autor |
| authorlink | Enlace a página web o correo electrónico del autor | Cadena de texto con una URI o un enlace de email (mailto:...) |
| authorweb | Título de la Página web del autor. Esta página es distinta de la url del autor | Cadena de texto con una URI |
| authorurl | URL de la página web del autor | Cadena de texto con una URI |
| credits | Créditos o copyright del módulo | Cadena de Texto |
| help | URL de la página de ayuda | Cadena de texto con una URI |
| license | Nombre de la licencia bajo la cual se encuentra el módulo | Cadena de Texto |
| official | Indica si el módulo es una liberación oficial de EXM | 1 ó 0 |
| image | Logotipo del módulo | URI a una imagen de logotipo |
| dirname | Nombre del directorio del módulo | Cadena de texto con el nombre de directorio. |
| icon48 | Icono de 48 x 48 pix. Del módulo | Cadena de texto con una URI hacia el icono |
| icon24 | Icono de 24 x 24 pix del módulo | Cadena de texto con una URI hacia el icono |
| deflang | Idioma del módulo por defecto. | Nombre del lenguaje (directorio existente dentro del módulo) |
| ‘onInstall’ | Archivo que se ejecutará en la instalación del Módulo | Ruta física del archivo a ejecutar. |
| ‘onUninstall’ | Archivo que se ejecutará durante la desinstalación del módulo. | Ruta física del archivo a ejecutar. |
| ‘onUpdate’ | Archivo que se ejecutará durante la desinstalación del módulo | Ruta física del archivo a ejecutar. |
| ‘url’ | URL de información para el usuario | |
| ‘include’ | Archivo a incluir automáticamente por el sistema | Ruta física relativa al directorio del módulo |
| ‘include_where’ | Identificador de la ubicación donde se incluirá el archivo | common, common_bottom, header, footer |
Los archivo especificados en los índices ‘onInstall’, ‘onUninstall’ y ‘onUpdate’ deben contener funciones especiales que serán llamadas por EXM y dichas funciones deben ser las siguientes:
onInstall = xoops_module_install_modir(XoopsModule $module);
onUninstall = xoops_module_ninstall_modir(XoopsModule $module);
onUpdate = xoops_module_update_modir(XoopsModule $module, $tversion);
Las funciones deben dar como valor de retorno ‘true’ o ‘false’ dependiendo de si se complete con éxito o no. Además deben aceptar los parámetros $module que es el objecto XoopsModule que se esta instalando y en el caso de ‘onUpdate’ el parámetro $tversion que contiene la version actual del módulo.
Además es posible especificar un archivo de inclusión para el módulo. Este archivo será incluido automáticamente por EXM System en la zona donde se haya especificado.
Las zonas son las siguiente:
Las opciones de configuración son las que permiten al módulo ser configurados desde EXM de manera automática. La configuración de los módulos en $modversion consta de dos partes o índices: category y config.
Tal y como se puede inferir del nombre de los índices category corresponde a la creación de categorías de configuración mientras que config son las opciones de configuración que existirán dentro de las categorías creadas. Un categoría se configura mediante los índices en $modversion de la manera siguiente: $modversion[‘category’][0][‘indice’], donde ‘0’ indica el número de categoría e índice los datos de la categoría.
Los índices para la creación de categorías de configuración son los siguientes:
| Subíndice | Descripción |
|---|---|
| name | Nombre de la categoría. Este valor puede ser una constante o una cadena. |
| desc | Descripción de la categoría. Este valor puede ser una constante o una cadena. |
| id | Cadena de texto con el id de la categoría (IE: general). Este id sirve para identificar internamente la categoría por lo que no debería repetirse este valor dentro del mismo módulo. |
| order | Orden en el que aparecerá la categoría dentro de la configuración del módulo. Valor entero. |
| icon | Icono que representa a la categoría en la página principal de las preferencias del sistema. Este icono debería ser de un tamaño 32 x 32 pix. |
Si en el archivo xoops_version.php no se han especificado categorías entonces EXM creará automáticamente la categoría de configuración general y todas las opciones de configuración serán asignadas a esta categoría.
El método para crear una opción de configuración es similar al de creación de categorías, de tal modo que debería ser algo como $modversion[‘config’][0][‘indice’], donde ‘0’ es un identificador numérico en el array e índice la opción.
Los índices de las opciones de configuración son los siguientes:
| Índice | Descripción | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| name | Nombre identificador del elemento de configuración. Este nombre no debe tener espacios ni caracteres extraños. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| title | Título con el que se presentará el elemento en el formulario de configuración. Preferentemente este índice debería contener una constante de lenguaje. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| desc | Descripción del elemento. Este valor se desplegará en el formulario de configuración. Debería ser una constante de lenguaje. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| formtype | Tipo de campo que se mostrará en el formulario para crear este elemento. Los tipos de campo disponibles son:
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| valuetype | Tipo de valor que contendrá el elemento de configuración. Los valores pueden ser ‘int’, ‘textbox’, ‘float’, ‘email’ | ||||||||||||||||||||||||||||||||||||||||||||||||||
| size | Tamaño del campo para los tipos de campo que aplique (textarea, textbox) | ||||||||||||||||||||||||||||||||||||||||||||||||||
| default | Valor por defecto al insertar el elemento de configuración. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| order | Orden en el que se mostrará el elemento dentro del formulario de configuración. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| category | Categoría a la que pertenece el elemento. Si no existen categoría el elemento es asignado a la categoría ‘general’. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| options | Array de opciones con valores en par (caption => value). Esto esta disponible para elementos que requieran de multiples opciones. |
Un módulo para EXM puede contener o no una sección administrativa al igual que en XOOPS. Para habilitar esta opción es necesario establecerlo mediante $modversion de la manera siguiente:
| hasAdmin | Indica que el modulo cuenta con una sección administrativa y debe contener el valor ‘1’ |
| adminindex | Especifica cual es el archivo index de la sección administrativa, es decir, un URI para el archivo index (IE: ‘admin/index.php’) |
| adminmenu | Especifica el archive que contiene el menu que se mostrará en la sección administrativa. IE ‘admin/menú.php’ |
Al igual que la sección administrativa, un módulo EXM puede contener una sección frontal, es decir, mostrar la sección donde los usuarios del sitio web interactuarán con el módulo. Para activar la sección frontal mediante $modversion es necesario crear los siguientes índices:
| hasMain | Debe contener el valor ‘1’ para activar la sección principal |
| sub | Menú de la sección principal |
Adicionalmente se puede especificar un menú principal que se mostrará al usuario cuando navegue en las páginas del módulo. El menú se especifica con el índice ‘sub’ especificado en la tabal anterior y con los subindices:
| ‘name’ | Nombre que desplegará el elemento |
| ‘url’ | Dirección URL a la cual se enviará al usuario cuando haga click en el menú. |
El formato para crear un menú principal entonces sería:
$modversion[‘sub’][0][‘name’] = ‘Nombre del Menu’;
$modversion[‘sub’][0][‘url’] = ‘http://’;
La presentación del módulo, tanto en la sección frontal como en la sección administrativa, esta basada en plantillas Smarty. En EXM dichas plantillas deben compilarse antes de poder utilizarse
para lo cual es necesario declararlas en el archivo xoops_version.php.
La declaración de las plantillas se realiza con el índice ‘templates’ de la manera siguiente:
$modversion[‘templates’][0][‘file’] = ‘nombre_del_archivo.html’;
$modversion[‘templates’][0][‘description’] = ‘Descripción del archivo’;
Estas líneas declarán una nueva plantilla que será compilada por EXM. El subíndice ‘file’ indica el nombre de un archivo que debe existir dentro de la carpeta templates del módulo ya que EXM buscará los archivos de plantillas solamente en esa carpeta.
Una de las características mas importantes de EXM al igual que en XOOPS es el manejo de bloques de módulos ya que estos agregán funcionalidad extra al sistema y al módulo mismo.
Para crear y administrar bloques en EXM es necesario que se especifiquen en el archivo xoops_version.php mediante el índice $modversion[‘blocks’] utilizando los siguiente subíndices:
| ‘file’ | Nombre del archivo que se utilizará para mostrar el bloque. Este archivo debe existir dentro de la carpeta ‘blocks’ del módulo. |
| ‘name’ | Nombre por defecto con el que se creará el módulo. |
| ‘description’ | Descripción del módulo |
| ‘show_func’ | Función que se llamará para mostrar el bloque. Esta función debe existir dentro del archivo especificado en el subíndice ‘file’. |
| ‘edit_func’ | Función que se llamará para editar las propiedades de un bloque. Esta función debe existir en el archivo especificado en el subíndice ‘file’. |
| ‘options’ | Debe contener un array con los valores que se pasarán a las funciones ‘edit_func’ y ‘show_func’. |
| ‘template’ | Archivo para utilizar como plantilla Smarty por el bloque. Este archivo debe existir dentro del directorio ‘templates/blocks’ del bloque. |
Es posible modificar la base de datos de EXM en la instalación de un módulo para lo cual es necesario contar con un archivo sql y a su vez este debe ser especificado en el archivo de configuración de la siguiente manera:
$modversion["sqlfile"]["mysql"] = "sql/rmdp.sql";
Esto permite a EXM ejecutar este archivo durante la instalación del módulo y generar las tablas necesarias para el módulo.
Además, en caso de que el módulo cree tablas en la base de datos, será necesario especificar que tablas son para poder eliminarlas en la desinstalación del módulo. Esto se hace de la siguiente forma:
$modversion["tables"][0] = "rmdp_categos";
Al especificar este valor el módulo podrá limpiar la base de datos para evitar errores.
Estas son todas las opciones que debe contener el archivo xoops_version.php para la configuración del módulo.