Tag: Componentes

Creación de componentes para Joomla 1.0.x

Esta artículo explicará como desarrollar un componente a medida para Joomla en la versión 1.0.x, mostrando los archivos y pasos básicos, así como también algunos métodos útiles tales como acceso a la base de datos, paginar resultados, etc. Se recomienda tener conocimientos de PHP y HTML para leer este artículo.

Estuctura de directorio

Joomla tiene una estructura de directorio dividida en 2 grandes grupos. Administrator, en donde se encuentran todos los archivos necesarios para que funcione el backend y los diferentes directorios que se encuentra en el directorio raíz.

Los directorios que nos interesan son los components, tanto dentro del directorio administrator, como en el raíz, pues aquí es donde se encuentran los archivos correspondiente a cada componente, que a su vez están en subdirectorios de la siguiente forma, com_nombreComponente, ejemplo com_users.

Si queremos ver los archivos correspondientes al componente users, debemos buscarlos en:

  • Administrator/components/com_users (backend)
  • Components/com_users (frontend)

Otro directorio importante es el includes, pues dentro de este encontramos archivos que tienen clases que se utilizarán en el componente por ejemplo para la conexión con la base de datos (database.php),  datos para manejar usuario, paginado, etc (joomla.php).

Los componentes se almacenan en la base de datos, más precisamente en la tabla jos_components.

Archivos que componen un componente

Un componente para ser instalado debe estar comprimido en un archivo zip con el siguiente formato com_NombreComponente.zip ejemplo com_users.zip.

Este archivo debe tener al menos 8 archivos que se pasaran a describir en breve:

  • admin.nombreComponente.php (backend)
  • admin.nombreComponente.html.php (backend)
  • toolbar.nombreComponente.php (backend)
  • toolbar.nombreComponente.html.php (backend)
  • nombreComponente.xml (backend)
  • nombreComponente.class.php (opcional)
  • nombreComponente.php (frontend)
  • nombreComponente.html.php (frontend)

A continuación se describirá cada archivo.