Crear un plugin de Joomla! es algo bastante sencillo.
En resumen, un plugin básico constaría de un archivo php y otro xml con el mismo nombre.
El nombre de los archivos es importante porque participa en formar el nombre de la clase del php.
Haremos que nuestra clase herede de JPlugin, y que sobrescriba los métodos correspondientes a los eventos que queramos.
Un esqueleto de plugin básico sería:
<?php
defined( '_JEXEC' ) or die( 'Acceso Restringido' );
jimport( 'joomla.plugin.plugin' );
class plgContentMyPlugin extends JPlugin {
function plgContentMyPlugin( &$subject ) {
parent::__construct( $subject );
}
function onBeforeDisplayContent(&$article, &$params, $limitstart=0) {
$plugin =& JPluginHelper::getPlugin('content', 'MyPlugin');
$pluginParams = new JParameter( $plugin->params );
$mensaje = "";
$mensaje = $pluginParams->get('mensaje', 'Hola Mundo');
$salidaPantalla = '<h2>' . $mensaje . '</h2>';
return $salidaPantalla;
}
}
?>
Podéis leer una explicación más completa y ver qué forma tiene que tener el xml en este post de nosolocodigo.
Lo siguiente que tenéis que tener en cuenta, es qué evento queréis utilizar para realizar vuestro cometido.
Podéis ver una lista de eventos y algo más de información sobre la creación de plugins en esta página de la documentación oficial de Joomla!.
Con esto en principio ya lo tenéis todo.
Os recomendamos que después de documentaros, al final penséis en que plugin, de los que ya tenéis en la carpeta ‘/plugins/’, es el que realiza la acción que más se parece a la que queréis hacer, y lo cojáis como base para hacer el vuestro.
Como procedimiento, recomendamos, ocuparnos primero de la estructura del plugin y que funcione su instalación, para después, preocuparnos de la funcionalidad trabajando directamente con los ficheros de código, acordándonos antes de poner la opción ‘Informe de errores’ a ‘Maximo’ en la configuración global de servidor, para que veamos si tenemos algún error y no nos quede un pantallazo en blanco. xD
Por último, tened en cuenta grabar los archivos con codificación UTF-8 y hacer el zip con la opción de ‘Enviar a -> Carpeta comprimida en zip’ de Windows o similar para que sea un zip lo mas estándar posible y no de problemas al instalarlo desde Joomla!.
Esperamos que os haya servido de ayuda!