IronWoods.es

Desarrollo web

Blog / Ecomerce - PrestaShop / Limitar lista de módulos a mostrar en el back-office

Podemos mostrar sólo el módulo o módulos que estemos desarrollando o hemos desarrollado en la lista que carga el back-office de PrestaShop. Limitar su número hace más cómodo el desarrollo: menos contenido y tiempo de carga de la vista, o bien centrar la atención al mostrar el trabajo a un cliente.

Hacking PrestaShop

Ésto se ha probado con PrestaShop 1.6.x y debería estar limitado a una instalación de desarrollo, ya que estamos modificando un código del core de la aplicación.


Lo que voy a hacer es mostrar sólo los módulos que estoy desarrollando, en este caso tengo dos, "xtest" y "skeleton", este segundo es una estructura básica que cree para comenzar el desarrollo rápido de módulos. Tendremos una vista como la siguiente:

Vista módulos concretos del back-office de PrestaShop
Vista de módulos concretos de PrestaShop

El procedimiento es sencillo, sólo hay introducir unas pocas líneas de código, en el lugar adecuado, dentro del código infernal de PrestaShop.

Me llevo algo más de media hora averiguarlo. Empece tocando los ficheros XML con las listas de módulos del directorio "config/xml/" y aunque no van por ahí los tiros, si permiten eliminar los módulos sugeridos y otras advertencias que hace la aplicación, sólo off-line claro.

Voy a hacer que en la lista de módulos sólo aparezcan los míos. Para ésto, primero en cada clase principal de cada módulo, en su constructor, como autor aparecerá mi nombre. Ahora, editamos la clase Module: "classes/module/Module.php" y al final del método "getModulesOnDisk()", colocamos un código como este justo antes del return final:

/**///ddd( $module_list );

$res = array();

foreach ( $module_list as $key => $module ) {


if ( $module->author === 'Moisés Alcocer' )

$res[] = $module;

}


return $res;

Con ésto, el método devolverá sólo los módulos del autor "Moisés Alcocer" y serán éstos los únicos que aparezcan en nuestra lista de módulos.


17-10-2017

Sitio libre de scripts. Solo efectos HTML / CSS