No sale precio ni nombre en Productos de la misma categoría
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.
Redactor:
Konstantin
Publicado
22/12/2020

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. 

diseño web en españa

Diseñador de Páginas WEB

Diseño WEB para tu negocio local o internet