aperez1 Posted July 4, 2017 Share Posted July 4, 2017 Hola, ¿Hay alguna forma de saber si un producto tiene alguna oferta asignada desde el controllador de un modulo en prestashop? Saludos! Link to comment Share on other sites More sharing options...
PSBlog Posted July 4, 2017 Share Posted July 4, 2017 ¡Buenas! Si accedes al objeto Product tienes el campo booleano "on_sale", si el producto está en oferta dicho campo está en "true". $product = new Product($id_producto); if ($product->on_sale) { // Está en oferta } Link to comment Share on other sites More sharing options...
aperez1 Posted July 4, 2017 Author Share Posted July 4, 2017 Muchisimas gracias, Por fin alguien que contesta a todos mis post. Link to comment Share on other sites More sharing options...
PSBlog Posted July 4, 2017 Share Posted July 4, 2017 De nada Yo también tenía muchas dudas cuando empecé con la programación en PrestaShop y me vi en la misma situación. A veces incluso la propia documentación oficial flojea y te las ves y deseas para encontrar información, así que la ayuda entre nosotros es importante. Ya me comentas si has podido salir airoso Link to comment Share on other sites More sharing options...
aperez1 Posted July 4, 2017 Author Share Posted July 4, 2017 ¡Buenas! Si accedes al objeto Product tienes el campo booleano "on_sale", si el producto está en oferta dicho campo está en "true". $product = new Product($id_producto); if ($product->on_sale) { // Está en oferta } Lo acabo de probar, pero siempre me devuelve 0, incluso los que tienen ofertas Link to comment Share on other sites More sharing options...
PSBlog Posted July 4, 2017 Share Posted July 4, 2017 (edited) Lo acabo de probar, pero siempre me devuelve 0, incluso los que tienen ofertas ¿Puedes probar a hacer un dumpeo del objeto producto para ver si lo está instanciando de forma correcta? Agrega: ddd($product); o var_dump($product); exit; Pega el resultado que te de a ver si es que el objeto está vacío. Edited July 4, 2017 by PSBlog (see edit history) Link to comment Share on other sites More sharing options...
aperez1 Posted July 4, 2017 Author Share Posted July 4, 2017 ¿Puedes probar a hacer un dumpeo del objeto producto para ver si lo está instanciando de forma correcta? Agrega: ddd($product); o var_dump($product); exit; Pega el resultado que te de a ver si es que el objeto está vacío. Esta bien instanciado, me devuelve todo el objeto product. Pero el on_sale esta siempre en false. Que extraño Link to comment Share on other sites More sharing options...
PSBlog Posted July 4, 2017 Share Posted July 4, 2017 Vamos a por otra opción, En la clase SpecificPrice tienes lo siguiente: public static function getByProductId($id_product, $id_product_attribute = false, $id_cart = false) { return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT * FROM `'._DB_PREFIX_.'specific_price` WHERE `id_product` = '.(int)$id_product. ($id_product_attribute ? ' AND id_product_attribute = '.(int)$id_product_attribute : '').' AND id_cart = '.(int)$id_cart); } Puedes llamarla pasándole el $id_product y si devuelve más de un registro es que tienes algún tipo de oferta. 1 Link to comment Share on other sites More sharing options...
aperez1 Posted July 4, 2017 Author Share Posted July 4, 2017 Vamos a por otra opción, En la clase SpecificPrice tienes lo siguiente: public static function getByProductId($id_product, $id_product_attribute = false, $id_cart = false) { return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT * FROM `'._DB_PREFIX_.'specific_price` WHERE `id_product` = '.(int)$id_product. ($id_product_attribute ? ' AND id_product_attribute = '.(int)$id_product_attribute : '').' AND id_cart = '.(int)$id_cart); } Puedes llamarla pasándole el $id_product y si devuelve más de un registro es que tienes algún tipo de oferta. Si había pensado en esa opción, lo haré así. Muchas gracias compañero. Link to comment Share on other sites More sharing options...
PSBlog Posted July 4, 2017 Share Posted July 4, 2017 Si finalmente te ha servido la ayuda te agradecería que marques el post como solucionado y le des un like a la solución En breve voy a por tu pregunta de los hooks para después del pago Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now