No sale precio ni nombre en Productos de la misma categoría

4 minutos de lectura
No sale precio ni nombre en Productos de la misma categoría

Tabla de Contenidos

Error en el modulo de los productos de la misma categoría en Prestashop 1.7.x.x

Solución fácil y rápida con pocos conocimientos de programación.

Bueno como siempre sin enrollarse mucho os dejo la solución a este Bug o error en los productos de la misma categoría. Concretamente en el modulo que se imprime en cada producto.

Solucion al bug de los productos en la misma categoría

Lo primero es que para situarte en el problema deberías de ver lo mismo que yo en la ficha de productos de Prestashop donde tengas el modulo de «Productos de la misma categoría»

De noche a la mañana ha dejado de mostrar el nombre y el precio junto con los detalles del producto

Debería verse mas o menos asi: 

Como arreglar el error en los productos de la misma categoría?

Para volver a hacer que aparezcan los precios y el nombre del producto del modulo «productos de la misma categoria» hay que hacer los siguientes sencillos pasos. Para eso necesitarás un editor de código y acceder a los archivos de tu Prestashop 1.7.6.9, 1.7.5.x en el servidor. Esto suele servir para todas las versiones actuales hasta que lo arreglen.

Paso 1 – Encontrar el archivo ps_categoryproducts.php

En los foros nos indica claramente el archivo que hay que editar, pero y la ruta de ps_categoryproducts.php? Muy sencillo nos vamos a: 

/modules/ps_categoryproducts/ps_categoryproducts.php

Paso 3 – Version PHP

Revisa bien tu versión de PHP ya que este error se genera si pones la version a  7.0 o inferior. Para mis la mejor es a partir de 7.2 que ya te la trae el plesk para cambiar en muchos sitios

Paso 2 – Cambiar código del fichero

En el fichero abierto nos vamos a entre la línea 230 y 264 y tendremos este código.

public function renderWidget($hookName = null, array $configuration = array())
{
$params = $this->getInformationFromConfiguration($configuration);
if ($params) {
if ((int)Configuration::get('CATEGORYPRODUCTS_DISPLAY_PRODUCTS') > 0) {

// Need variables only if this template isn't cached
if (!$this->isCached($this->templateFile, $params['cache_id'])) {
if (!empty($params['id_category'])) {
$category = new Category($params['id_category']);
}

if (empty($category) || !Validate::isLoadedObject($category) || !$category->active) {
return false;
}

$variables = $this->getWidgetVariables($hookName, $configuration);

if (empty($variables)) {
return false;
}

$this->smarty->assign($variables);
}

return $this->fetch(
$this->templateFile,
$params['cache_id']
);
}
}

return false;
}

Lo que vamos a hacer es comentar un poco algunas líneas pero sin más rodeos cambien este código por este mismo y ya lo tendríamos arreglado.

public function renderWidget($hookName = null, array $configuration = array())
{
$params = $this->getInformationFromConfiguration($configuration);

if ($params) {
if ((int)Configuration::get('CATEGORYPRODUCTS_DISPLAY_PRODUCTS') > 0) {


// Need variables only if this template isn't cached
//if (!$this->isCached($this->templateFile, $params['cache_id'])) {
if (!empty($params['id_category'])) {
$category = new Category($params['id_category']);
}


if (empty($category) || !Validate::isLoadedObject($category) || !$category->active) {
return false;
}


$variables = $this->getWidgetVariables($hookName, $configuration);


if (empty($variables)) {
return false;
}


$this->smarty->assign($variables);
//}


return $this->fetch(
$this->templateFile
// $this->templateFile,
// $params['cache_id']
);
}
}


return false;
}

Con esto y un bizcocho guardamos y ya lo tendríamos arreglado y el molesto error de los productos de la misma categoría ya no te perturbará más. 

ACTUALIZADO: SI EL PROBLEMA PERSISTE EN PRODUCTOS MAS VISTOS

Si os pasa el mismo problema que no salen los precios en modulo productos mas vistos deberían de ir al archivo del modulo. 

/modules/ps_viewedproduct/ps_viewedproduct.php

Nos iremos a la linea 210 donde dice:

return $this->fetch($this->templateFile, $this->getCacheId());

Y lo cambian por

return $this->fetch($this->templateFile);
5 2 votos
Article Rating
Subscribirse
Notificacion de
guest
2 Comments
Feedbacks en línea
Ver todos los comentarios
Martin

Hola, he probado comenta el código en el PS 1.7.8.8 con la última versión de Warehouse y no me funciona, si lo aplico no muestra ni los imágenes del producto. Hay algo diferente para la última versión de PS?

Gracias y saludos