Localizar rutas y nombres de ficheros de módulos en Prestashop

¿Os acordáis del módulo que nos permitía conocer la información de los módulos, como por ejemplo la ruta de los ficheros?

En esta ocasión, vamos hablar y poner un ejemplo, de cómo hacerlo (más simplificado) a nivel de código. El módulo que estuvimos comentando el otro día es más completo.

El usuario Nemo de la Comunidad de Prestashop, nos proporciona un pequeño truco en un videotutorial en el idioma de Shakespeare, que hemos pasado de forma transcrita al idioma de Cervantes. Este “TIP” permite localizar las rutas y nombre de los ficheros de forma visual, sin tener que ir buceando.

Vamos a tocar clases originales, pero recordar que lo recomendable es siempre hacer un Override.

Editamos el fichero:

/classes/module/Module.php

Dentro de la función “display” ->  public function display($file, $template, $cache_id = null, $compile_id = null)

Y encima de:

return $result;

Añadimos el siguiente código:

if ($result && _PS_MODE_DEV_ === true) {
$tpl_path = $this->getTemplatePath($template);
$result = '<!-- INICIO ' .$tpl_path. ' -->'. $result. '<!-- FINAL'. $tpl_path.' -->';
}
Debug ficheros TPL de los módulos en Prestashop

Con esta línea:

if ($result && _PS_MODE_DEV_ === true)

Solo mostraremos esta información, si hemos habilitado el debug en Prestashop y si hemos obtenido un resultado.Recordar que para hablitar el debug en Prestashop 1.6, es en: /config/defines.inc.php cambiando el valor “false” de define(‘_PS_MODE_DEV_’, false); por “true“.

En esta línea:
$tpl_path = $this->getTemplatePath($template);

Obtenemos la ruta del fichero “*.tpl”.

En esta línea:

$result = '<!-- INICIO ' .$tpl_path. ' -->'. $result. '<!-- FINAL'. $tpl_path.' -->';

Guardamos resultado en la variable $result que se va usando a lo largo de la misma función y que retorna la función.

Ahora veremos que en el código fuente de la tienda, podemos localizar fácilmente los ficheros “.tpl” de los módulos. En esta ocasión estamos viéndolo desde Inspeccionar Elemento en Chrome (botón derecho ratón -> Inspeccionar elemento).

Documento construido bajo Prestashop 1.6.1.14

En Prestashop 1.7, directamente (y sin necesidad de modificar código) si habilitamos el modo depurador (modo debug) desde la pestaña Parámetros Avanzados -> Rendimiento 

Habilitar modo depuración en Prestashop 1.7
Habilitar modo depuración en Prestashop 1.7

Desde el mismo código fuente nos salta la ruta de los “tpls” de los módulos…

Ficheros TPL de los módulos en Prestashop 1.7

Fijaros que ademas de los ficheros (TPL), podemos ver fácilmente el nombre interno de los módulos, útil para identificarlos sino sabemos cómo se llaman y queremos configurarlos en la pestaña módulos -> módulos y servicios.

Un ejemplo es que el nombre interno del módulo de suscripción por newsletter es “ps_emailsubscription”. Nada más sabiendo este nombre interno podemos acceder a su configuración.

Acceder configuración del módulo

Un comentario sobre “Localizar rutas y nombres de ficheros de módulos en Prestashop”

Los comentarios están cerrados.