Instalación
En primer lugar vamos a bajarnos un componente vació como este >> COM_BILBAO.zip. Vamos a Extensiones -> Gestor de extensiones -> Install y lo instalamos.
Editamos el archivo de la parte frontend components -> com_bilbao -> bilbao.php. Este archivo lo he construido para que pueda elegir vía url tanto el controller como la task (método) a ejecutar.
$controller = JRequest::getWord('controller', 'cbilbao'); // nombre del controlador
llamará al controller que le pongamos via url o al de por defecto si no le ponemos nada:
if ( $_GET[controller] == ""){ $controller = $controller ;} else { $controller = $_GET[controller];}
$path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
Modelo
Para poder llamar a la vista vía url puse un método en el model
public function getview($view){
if ( $_GET[view] == ""){ $view = $view ;} else { $view = $_GET[view];}
$VPATH = JPATH_COMPONENT.DS.'views'.DS.$view.'.php';
return $VPATH;
}
Controlador
Desde el controller llamamos a la vista que queramos mostrar (en este caso llamamos a /views/vbilbao.php)
function display(){
$clase = new BilbaoModelMbilbao();
require_once ($clase->getview(vbilbao));
}
En este componente podemos crear tantos modelos, vistas, controladores y task como queramos, dependerá de la amplitud de la aplicación que necesitemos implementar. Para llamar al componente podemos crar un elemento de menú que apunte a index.php?option=com_bilbao que mostrará los elementos por defecto definidos. Podemos añadir a la url tanto el controlador como la task: index.php?option=com_bilbao&controller=cbilbao2&task=funcionTask2 por ejemplo.
En la parte del administrador tenemos exactamente lo mismo y llamariamos a la ur: administrator/index.php?option=com_bilbao ....
Podemos utilizar el administrador para controlar los registros que hagan los usuarios en el front del componente, para habilitarlos o para simplemente tener algún tipo de estadística de registros de cualquier tabla de Joomla.