Esta es la segunda parte de la guía para crear un módulo para la tienda online Prestashop.
En esta entrada veremos como se crea la parte del back-office personalizada.
Si te perdiste la primera entrada, aquí la tienes.Para empezar, podemos añadir un enlace directo en los menús superiores, para no tener que configurar el módulo teniendo que hacer click en la parte de Módulos->Modulos y buscarlo en la lista.
Para ello, tenemos que añadir este trozo de código en la función install de nuestro módulo.
if (!$id_tab = Tab::getIdFromClassName(‘AdminNuevo’))
{
$tab = new Tab();
$tab->class_name = ‘AdminNuevo’;
$tab->module = ‘nuevo’;
$tab->id_parent = (int)Tab::getIdFromClassName(‘AdminCustomers’); //por ejemplo, aparecerá al final del menú clientes
foreach (Language::getLanguages(false) as $lang)
$tab->name[(int)$lang[‘id_lang’]] = ‘Nuevo»;
if (!$tab->save())
return $this->_abortInstall($this->l(‘Imposible crear la pestaña de nuevo’));
}
Con esto, ya tenemos un enlace a nuestro módulo desde el menú superior que aparece cuando se despliega el menú clientes.
Para completar el módulo tenemos que crear dentro de nuestra carpeta del módulo controllers/admin/AdminNuevo.php
El contenido del fichero será este:
class AdminNuevoController extends ModuleAdminController
{
public function initContent(){
global $cookie;
$token=md5(pSQL(_COOKIE_KEY_.’AdminModules’.(int)Tab::getIdFromClassName(‘AdminModules’).(int)$cookie->id_employee));
header(‘Location: index.php?configure=nuevo&tab_module=advertising_marketing&module_name=nuevo&controller=AdminModules&token=’.$token);
exit;
}
}
Esto lo que hace es que cuando hacemos click en el menú del inicio, en el desplegable de Nuevo, nos redirige a la configuración del módulo.
(no es gran cosa, pero visualmente es muy cómodo).
A partir de aquí, el funcionamiento es igual que los módulos de versiones anteriores, solo hay que rellenar la función getContent() para mostrar la configuración de nuestro módulo.
A ver si me da tiempo y os dejo el .zip con el módulo completo para que tengáis una plantilla en blanco siempre que queráis, y habilitaré una sección de descargar para poner ahí todos los módulos que voy creando, para que los uséis si os hacen falta.
Espero que os sirva de ayuda.
Muchas gracias por la info. Ya tengo la base para comenzar!