Jump to content

En productos error en paquetes


chichob

Recommended Posts

Buenas , no se si es un error de la actualizacion 1.5.3 pero el caso es que cuando actualice, los productos que tenia marcados como paquetes, es decir con varios prodcutos añadidos, al visualizarlos me aparecen si añado mas de uno, me aparece la imagen del ultimo del paquete es decir les digo el caso pongo

Un articulo como paquete que se compone de :

una botella + hielo + vasos. pues en la vista al pinchar en ese producto me aparece el paquete y los componentes de lo que he integrado en ese paquete, pero la imagen me sale la botella + hielo + hielo, cuando deberia salir vasos.

 

Fijense en cualquier pack de mi pagina:

www.ekopas.com

por ejemplo pack de ron carta oro.

 

Gracias , no se si me he explicado bien..

 

saludos

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Hola, tengo el mismo problema. Levante un ticket en el área de soporte y me informaron que ya esta solucionado en la nueva versión que actualmente se encuentra en desarrollo. Espero que la solución también aplique para esta versión o al menos nos digan como corregirlo...

Link to comment
Share on other sites

  • 2 weeks later...

SOLUCIÓN:

 

Abrid el archivo "classes/pack.php"

 

Buscad la función "getItemTable"

 

Este es el código:

 

public static function getItemTable($id_product, $id_lang, $full = false)
{
 if (!Pack::isFeatureActive())
  return array();
 $sql = 'SELECT p.*, product_shop.*, pl.*, image_shop.`id_image`, il.`legend`, cl.`name` AS category_default, a.quantity AS pack_quantity, product_shop.`id_category_default`, a.id_product_pack
   FROM `'._DB_PREFIX_.'pack` a
   LEFT JOIN `'._DB_PREFIX_.'product` p ON p.id_product = a.id_product_item
   LEFT JOIN `'._DB_PREFIX_.'product_lang` pl
 ON p.id_product = pl.id_product
 AND pl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('pl').'
   LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product`)'.
   Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').'
   LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
   '.Shop::addSqlAssociation('product', 'p').'
   LEFT JOIN `'._DB_PREFIX_.'category_lang` cl
 ON product_shop.`id_category_default` = cl.`id_category`
 AND cl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('cl').'
   WHERE product_shop.`id_shop` = '.(int)Context::getContext()->shop->id.'
   AND ((image_shop.id_image IS NOT NULL OR i.id_image IS NULL) OR (image_shop.id_image IS NULL AND i.cover=1))
   AND a.`id_product_pack` = '.(int)$id_product;
 $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
 foreach ($result as &$row)
  $row = Product::getTaxesInformations($row);

 if (!$full)
  return $result;
 $array_result = array();
 foreach ($result as $row)
  if (!Pack::isPack($row['id_product']))
   $array_result[] = Product::getProductProperties($id_lang, $row);
 return $array_result;
}

 

Lo importante es la última parte de esta función, debéis dejarla así (son 3 modificaciones):

 

 foreach ($result as $row2)
  if (!Pack::isPack($row2['id_product']))
   $array_result[] = Product::getProductProperties($id_lang, $row2);
 return $array_result;

 

Fijáos que donde ponía "row" debemos dejar "row2"

 

Listo.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...