» » Crear componente y modulo personalizado en joomla 3

Crear componente y modulo personalizado en joomla 3

oscar 26 de junio del 2015 No hay comentarios

Continuamos con la parte 2 para la creacion de un componete y modulo en joomla 3, si no has leido la parte 1 te recomiendo darle una leida.

¿Que se puede hacer con un modulo personalizado? R= puedes asigarle una posicion de tu template y ademas darle los estilos necesarios para presentar los datos optenidos del componente.

No quieres leer los pasos? te invito a ver el video para la creacion del modulo

Pasos para crear un modulo personalizado en joomla 3.

1.-Crear estructura del componente en http://extstore.com/tools/module-creator. Mi modulo tendra el nombre de mod_videojuegos.

paso1-crear-modulo

2.-Programar el modulo.

Para saber la estructura y para que sirve cada archivo podemos consultar la documentacion de joomla

Los archivos a modificar son:

Siguiendo la estructura MVC los archivos a modificar quedarian asi:

  1. mod_videojuegos.php: Seria el controlador, aqui se inicia la llamada para la obtencion de datos (helper.php)
  2. helper.php: Seria el modelo, de aqui obtenemos los datos para mostrar en el modulo
  3. mod_videojuegos.xml: Contiene informacion sobre el modulo
  4. tmpl/default.php: Seria la Vista, aqui se imprimen los datos obtenidos.

mod_videojuegos.php

<?php error_reporting(0);

/**
* @copyright @copyright Copyright (c) 2015 CancunJS. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// no direct access
defined('_JEXEC') or die;
// include the syndicate functions only once
require_once dirname(__FILE__) . '/helper.php';
//Se obtienen los datos del componente
$list = modVideojuegosHelper::getList($params);
//Traduccion de caracteres especiales
$class_sfx = htmlspecialchars($params->get('class_sfx'));
//Se pintan los datos en el layout definido en tmpl/default.php
require JModuleHelper::getLayoutPath('mod_videojuegos');

helper.php

<?php

/**
* @copyright Copyright (c) 2015 CancunJS. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// no direct access
defined('_JEXEC') or die;
/**
* CancunJS - Videojuegos Helper Class.
*
* @package Joomla.Site
* @subpakage CancunJS.Videojuegos
*/
class modVideojuegosHelper {
public function getList($params){

$dId = $params->get('juegoId');//Obtiene el Id del modulo seleccionado
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('*')
->from('#__videojuegos_')
->where('id='.$dId);
$db->setQuery($query);
$objects = $db->loadObjectList();
$query->clear();
return $objects[0];
}
}

mod_videojuegos.xml

Solo colocare la parte editada:

Aqui obtengo todos los juegos creados por el componente y asigno uno al modulo.

 <field name="juegoId" type="sql" default="1" label="Selecciona un Juego" query="SELECT id, nombre FROM #__videojuegos_" key_field="id" value_field="nombre" required="true">
<option value="">Selecciona un Juego</option>
</field>

tmpl/default.php

<?php/**

* @copyright Copyright (c) 2015 CancunJS. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

// no direct access
defined('_JEXEC') or die;?>

<h1> Listado Juegos </h1>
<hr>
<h2><?php echo $list->nombre;?> </h2>
<img src="<?php echo $list->imagen;?>" />
<p><strong>Consola: </strong> <?php echo $list->consola;?> </p>
<p><?php echo $list->descripcion;?></p>

3.-Instalar el modulo:

Primero se vuelve a comprimir el modulo y luego se instala.

paso3-instalar-modulo

 

4.-Crear un modulo y asignarlo a un template.

paso4-crear-modulo

paso4-asignar-componente

 

 

Resultado:

pago4.2-ver datos mostrados

 

Con esto se termina la segunda y ultima parte, este es ejemplo completo para personalizar tus modulos y colocarlos en cualquier posicion de tu template.

Para finalizar te comparto los archivos de instalacion y un video.

Modulo VideoJuegos.

Sitio completo Joomla – Componente y Modulo. Accesos: oscar pass 123456

Ver video creacion de modulo.

youtube-rentals

 

1 Star2 Stars3 Stars4 Stars5 Stars ¡Sé el primero en calificar!
Loading...

oscar