Recomendamos:     Red México   ·   TemasWeb.com   ·   ChikayChikay.com
Buscar
Inicio Descargar Temas Módulos Foros Noticias

Users Login

Username: Password:
¿No estas registrado? Regístrate Ahora Recordar Contraseña

Temas Recientes

Módulos Recientes

Recent Posts

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

Configuración de Módulos EXM System

Search
last edition on Jan 26 2008 by BitC3R0.
Rating: 607 Reads
Rate: 137 Votes
Describe las opciones de configuración de módulos en EXM System. Este documento esta dirigido principalmente a desarrolladores.

Información del Módulo

 

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:

  • common. Inlcuye el archivo en el archivo include/common.php después de la inclusión de el archivo include/functions.php, rmcommon, después de comprobar la seguridad.
  • common_bottom. Incluye el archivo en el final del archivo include/common.php
  • header. Incluye el archivo en el archivo header.php.
  • footer. Incluye el archivo en el archivo footer.php.

Opciones de Configuración

 

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:
checkbox_groups

Muestra campos checkbox con nombres de los grupos

group_multi

Igual que el anterior

radio_groups

Muestra campos radio con nombres y valores de los grupos

group, selectgroup

Muestra un campo select con grupos y sus valores.

select_groups_multi

Muestra un campo select con selección múltiple que contiene los nombres y valores de los grupos.

editor

Muestra un campo editor de acuerdo a las preferencias del sistema.

theme, select_theme

Muestra un campo select con los nombres de los temas existentes en EXM

theme_multi, select_theme_multi

Muestra un campo select con opción múltiple que contiene los temas existentes en EXM

checkbox_theme

Muestra campos checkbox con nombres y valores de los temas existentes en EXM

yesno

Muestra dos campos radio con valores 1 y 0 (Si y No).

email

Muestra un campo de texto con comprobación para email.

select

Muestra un campo select

language, select_language

Muestra un campo select con los lenguagjes existentes en EXM.

select_language_multi

Muestra un campo select con opción multiple que contiene los lenguajes instalados en EXM.

checkbox_language

Muestra campos checkbox con los valores y nombres de lenguajes instalados en EXM.

startpage, select_modules

Muestra un campo select con los nombres e identificadores de los módulos instalados en EXM

select_modules_multi

Muestra un select con opción múltiple que contiene los nombres de los módulos instalados.

checkbox_modules, radio_modules

Muestran campos checkbox y radio respectivamente con valores de los módulos instalados.

timezone , select_timezone

Muestra un campo select con las zonas de tiempo.

select_timezone_multi

Muestra un campo select con opción multiple que contiene las zonas de tiempo.

checkbox_timezone, radio_timezone

Muestra campos checkbox Y radio, respectivamente, con las zonas de tiempo.

tplset

Muestra un campo select con los sets de plantillas instaladas.

textarea

Muestra un campo textarea

module_cache

Muestra un campo select con las opciones de cache para los módulos.

user_select

Muestra un campo select que contiene los nombre de usuarios registrados.

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.

Administración

 

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’

Sección Frontal

 

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://’
;

Plantillas del Módulo

 

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 utilizarsePlantillas - Metodos alternativos 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’;Valor vacio descripción

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.

Bloques del Módulo

 

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.

Base de Datos

 

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:

Code:

$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:

Code:

$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.

References

  1. Existen métodos alternativos para llamar a las plantillas Smarty sin necesidad de declararlas, sin embargo esos métodos no se tratan en este documento.
  2. El valor de este subindice puede quedar vacío
Powered by Ability Help 1.0 final | Development by Red México.
Copyright © 2007 - 2008 Red México.

Explora

  • Inicio
    Donde todo empieza
  • Descarga
    Descarga EXM System y pruebalo ahora mismo.
  • Noticias
    Un poco mas acerca de lo que sucede en el mundo de EXM System.
  • Foros
    Experiencias, ayuda y conocimientos al alcance de todos.
  • Descarga Temas
    Modifica la apariencia de EXM System.
  • Módulos
    Si quieres mas funcionalidad encuentrala aquí.
  • Documentación
    Información constantemente en crecimiento.

Noticias Recientes

Comentarios Recientes

Powered by EXM System   |   Diseñado por: Red México   |   RSS