Zoser Posted January 21, 2012 Share Posted January 21, 2012 Pues eso. Que tengo muchos artíxulos con diferentes combinaciones de atributos, y cuando no hay stock de la combinación por defecto en la portada del producto aparece como "Producto agotado" cuando no es así, quedan unidades de ese artículo sólo que en otras combinaciones de atributos. He estado buscando en el foro español y en el inglés antes de poner este tema pero no he hallado la solución. En el foro inglés está el mismo tema pero acaba diciendo que el problema "se acabará" con la versión 1.4, lo cuál no es cierto porque yo tengo la 1.4.1 y continuo teniéndolo. ¿Alguien me puede decir cómo solucionarlo? Muchas gracias Link to comment Share on other sites More sharing options...
4webs.es Posted January 22, 2012 Share Posted January 22, 2012 y que es lo que quieres hacer, porque si tienes habilitado el stock y el que trae por defecto no tiene stock es normal que el sistema te lo marque como agotado. Link to comment Share on other sites More sharing options...
Zoser Posted February 21, 2012 Author Share Posted February 21, 2012 Lo que quiero es que lo marque pero una vez que entras en el artículo y seleccionas los atributos. El problema ahora es que en la portada del producto aparece como agotado y ya la gente ni siquiera entra a mirar si está disponible el artículo con otros atributos. No sé si me explico. Imagínate que son tallas (que no es así pero es lo mismo). Prestashop me obliga a seleccionar una talla por defecto, supongamos que elijo la talla M. Si se acaban los artículos de la talla M, en la portada del producto aparece como artículo agotado, cuando a lo mejor quedan tallas L,S,XL, etc... ¿No se puede indicar que en la portada diga que hay stock siempre y cuando haya algún artículo sea de la talla que sea? 2 Link to comment Share on other sites More sharing options...
Aldeag Posted February 22, 2012 Share Posted February 22, 2012 Lo que quiero es que lo marque pero una vez que entras en el artículo y seleccionas los atributos. El problema ahora es que en la portada del producto aparece como agotado y ya la gente ni siquiera entra a mirar si está disponible el artículo con otros atributos. No sé si me explico. Imagínate que son tallas (que no es así pero es lo mismo). Prestashop me obliga a seleccionar una talla por defecto, supongamos que elijo la talla M. Si se acaban los artículos de la talla M, en la portada del producto aparece como artículo agotado, cuando a lo mejor quedan tallas L,S,XL, etc... ¿No se puede indicar que en la portada diga que hay stock siempre y cuando haya algún artículo sea de la talla que sea? +1 Link to comment Share on other sites More sharing options...
maweeds Posted November 30, 2012 Share Posted November 30, 2012 y que ocurre cuando no hay combinaciones y tiene stock pero aparece agotado?? a mi ademas me ha cambiado el precio de al menos un producto, dejo el link http://maweeds.com/category.php?id_category=47 como digo me ha cambiado un precio, el del 3er producto, la white dwarf, aparece como 74€ y agotado, pero al entrar en el producto el precio es de 40€ y el producto esta disponible, no entiendo que pasa. por favor ayuda Link to comment Share on other sites More sharing options...
laurapessoa Posted November 30, 2012 Share Posted November 30, 2012 A mi me pasa lo de las tallas... es una agobio tener que estar pendiente de las combinaciones... Link to comment Share on other sites More sharing options...
Juaners Posted January 9, 2013 Share Posted January 9, 2013 A mi tambien me intresa. Tengo instalada la versión 1.5.2.0 y espero que se arregle actualizando a la 1.5.3.0 que salío el 28 de diciembre. Ya os comentaré : ) Link to comment Share on other sites More sharing options...
ccb78 Posted January 28, 2013 Share Posted January 28, 2013 (edited) Este problema también me ha traído de cabeza. La verdad es que no encuentro razón a que tenga que existir una "combinación predeterminada", porque lo que es en el caso de mi tienda para lo único que vale es para que, como dice Zoser, al agotarse su stock aparezca el producto como "Agotado" en la página de la categoría, y que el cliente ni se moleste en entrar a la página del producto a ver si existe stock de otras tallas que no sea la predeterminada. Yo he encontrado la solución de hacer que en mi tienda ninguna talla quede como "predeterminada", de modo que mientras quede stock de alguna de las tallas no va a aparecer la imagen de "Producto agotado" en la página de la categoría. Para ello he cambiado estas cosas en el archivo Product.php, de la carpeta CLASSES. 1.- En la línea 532: public static function updateDefaultAttribute($id_product) { $id_product_attribute = self::getDefaultAttribute($id_product); Db::getInstance()->Execute('UPDATE '._DB_PREFIX_.'product SET cache_default_attribute = '.(int)($id_product_attribute).' WHERE id_product = '.(int)($id_product).' LIMIT 1'); } He eliminado el código en rojo. 2.- En la línea 1013: public function setDefaultAttribute($id_product_attribute) { return Db::getInstance()->Execute(' UPDATE `'._DB_PREFIX_.'product_attribute` SET `default_on` = 1 WHERE `id_product` = '.(int)$this->id.' AND `id_product_attribute` = '.(int)$id_product_attribute) && Db::getInstance()->Execute(' UPDATE `'._DB_PREFIX_.'product` SET `cache_default_attribute` = '.(int)$id_product_attribute.' WHERE `id_product` = '.(int)$this->id.' LIMIT 1'); } Lo he cambiado por: public function setDefaultAttribute($id_product_attribute) { return Db::getInstance()->Execute(' UPDATE `'._DB_PREFIX_.'product_attribute` SET `default_on` = 0 WHERE `id_product` = '.(int)$this->id.' AND `id_product_attribute` = '.(int)$id_product_attribute); } 3.- En la línea 2176: public function checkDefaultAttributes() { $row = Db::getInstance()->getRow(' SELECT id_product FROM `'._DB_PREFIX_.'product_attribute` WHERE `default_on` = 1 AND `id_product` = '.(int)($this->id)); if ($row) return true; $mini = Db::getInstance()->getRow(' SELECT MIN(pa.id_product_attribute) as `id_attr` FROM `'._DB_PREFIX_.'product_attribute` pa WHERE `id_product` = '.(int)($this->id)); if (!$mini) return false; if (!Db::getInstance()->Execute(' UPDATE `'._DB_PREFIX_.'product_attribute` SET `default_on` = 1 WHERE `id_product_attribute` = '.(int)($mini['id_attr']))) return false; return true; } He eliminado el código en rojo. Espero que os sirva porque el tema de las combinaciones predeterminadas es un verdadero coñazo, sobre todo por lo que dice laurapessoa. Olvidaba comentar que estoy utilizando la versión 1.4.8.2 de Prestashop. No sé si esto servirá para la 1.5. Saludos. Edited January 28, 2013 by ccb78 (see edit history) Link to comment Share on other sites More sharing options...
Juaners Posted January 28, 2013 Share Posted January 28, 2013 Mis compañeros y yo te agradecemos un montón! Lo vamos a probar y como funcione.... dime a que dirección enviarte una caja de bombones! jajajaja Link to comment Share on other sites More sharing options...
ccb78 Posted January 28, 2013 Share Posted January 28, 2013 ¿Lo habéis probado? ¡Espero que haya funcionado! Olvidaba decir que no funciona para los productos que ya tuvieran las tallas (o cualquier otro tipo de combinación) establecidas antes de los cambios, así que para comprobarlo hay que crear un artículo nuevo y meterle las combinaciones después de haber hecho los cambios en Product.php. Link to comment Share on other sites More sharing options...
ccb78 Posted January 28, 2013 Share Posted January 28, 2013 ¡Acabo de ver que he tenido un pequeño fallo en el código del post #8! Lo he editado, y ahora sí debería funcionar. Link to comment Share on other sites More sharing options...
segura Posted September 20, 2013 Share Posted September 20, 2013 Tengo exactamente el mismo problema. A mi sí me interesa que haya una variante por defecto (para el tema de las fotos) pero no quiero que el producto aparezca como agotado cuando sí hay otras variaciones disponibles. ¿Alguna idea de cómo solucionarlo? Link to comment Share on other sites More sharing options...
Recommended Posts