Manz Soluciones Posted November 3, 2014 Share Posted November 3, 2014 (edited) Buenos días. Soy profesional en prestashop, pero no consigo encontrar el problema que tengo con el modulo de "Promociones en el carrito". En dicho modulo, tu añades los productos que quieres promocionar para que aparezcan en el carrito. Basicamente a mi no me sale nada en el carrito. Uso prestashop 1.5.6. Hice los siguientes pasos. - Comprar el modulo en Prestasho Addons - Instalar el modulo - Añadir productos en "Configuración". Y nada. Alguna idea?. Tambien lo desinstale y volvi a instalar y nada. Mi pagina es greatimes.es Edited November 3, 2014 by Manz Soluciones (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted November 3, 2014 Share Posted November 3, 2014 (edited) 1 º Comprueba que aparezca instalado en su hook (en la pestaña modulos -> posiciones puedes verlo) 2º Comprueba que tu fichero: (el de tu plantilla) shopping-cart.tpl imprima el hook: {$HOOK_SHOPPING_CART_EXTRA} 3º Si todo es correcto, habilita el debug: http://www.prestashop.com/forums/topic/232476-%C2%BFqu%C3%A9-hacer-cuando-se-queda-la-pantalla-en-blanco-en-prestashop/ para ver si salta un error. Edited November 3, 2014 by nadie (see edit history) Link to comment Share on other sites More sharing options...
Manz Soluciones Posted November 3, 2014 Author Share Posted November 3, 2014 Hola nadie. Gracias por la rapida respuesta. He mirado en shopping-cart.tpl y si aparece la zona de {$HOOK_SHOPPING_CART_EXTRA} Lo que no veo es que en poisiciones de los modulos no hay nunguno llamado cart_extra. El modulo aparece en los hooks - Cart creation and update - Administration panel header - Shopping cart footer. Si activo el modo debug me da error pero de un tema de colores. Link to comment Share on other sites More sharing options...
nadie Posted November 3, 2014 Share Posted November 3, 2014 El: <div id="HOOK_SHOPPING_CART">{$HOOK_SHOPPING_CART}</div> tambien lo tienes ¿no? Link to comment Share on other sites More sharing options...
Manz Soluciones Posted November 3, 2014 Author Share Posted November 3, 2014 Si, en shopping_cart.tpl está. Link to comment Share on other sites More sharing options...
nadie Posted November 3, 2014 Share Posted November 3, 2014 {$HOOK_SHOPPING_CART} == displayShoppingCartFooter Link to comment Share on other sites More sharing options...
nadie Posted November 3, 2014 Share Posted November 3, 2014 (edited) Prueba hacer la siguiente prueba editar el fichero *.php del módulo, busca el codigo que esta dentro de: public function hookshoppingCart($params) Comentalo todo el contenido de la función, menos: return $this->display(__FILE__, 'xxxxx.tpl', $this->getCacheId($cache_id)); Despues editar el "tpl" del modulo y escribe hola mundo y dime si se imprime en el hook ese "hola mundo", ya que quizas sea algo interno del módulo y asi descartamos cosas. Edited November 3, 2014 by nadie (see edit history) Link to comment Share on other sites More sharing options...
Manz Soluciones Posted November 3, 2014 Author Share Posted November 3, 2014 Hola. Simplemente lo comente como me dices, y al subirlo ya me imprime el tpl, sin datos claro. Asique deduzco que es algun problema de estructura en la llamada a sql del modulo. Lo pego por si lo ves de primeras. public function hookShoppingCart() { $cart = Context::getContext()->cart; $this->clear(); if ($cart->id_customer != 0) { $previousRules = ($cart->getCartRules()); $existingCartRules = (int)Db::getInstance()->getValue(' SELECT COUNT(id_cart) FROM `'._DB_PREFIX_.'cart_cart_rule` WHERE id_cart = '.$cart->id); $customerCartRules = (int)Db::getInstance()->getValue(' SELECT COUNT(id_customer) FROM `'._DB_PREFIX_.'cart_rule` WHERE id_customer = '.$cart->id_customer.' AND active = 1'); if (empty($previousRules) && empty($existingCartRules) && empty($customerCartRules)) { if ($this->getTopProduct() != 0) { $token = 'pushoncartPromos'; $params = $this->getParams(); $this->context->smarty->assign(array( 'name'=>$params[0], 'prodID'=>$params[1], 'description' => $params[2], 'price' => $params[3], 'discountPrice' => $params[4], 'discount' => '-'.$params[5], 'imageLink' => $params[6], 'symbol' => $params[7], 'discountAmount' => $params[5], 'discount_in_cash' => $params[8], 'reduction_percent' => $params[9], 'discountType' => $this->DiscountType($this->getTopProduct()), 'discountName' => Db::getInstance()->getValue(' SELECT discount_name FROM `'._DB_PREFIX_.'pushoncartproducts` WHERE id_product = "'.(int)$this->getTopProduct().'"'), 'requestUri' => 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'modules/'.$this->name.'/addToCart.php', 'token' => md5($token) )); return $this->display(__FILE__, '/views/templates/front/productOffer.tpl'); } } } } Gracias de antemano. Link to comment Share on other sites More sharing options...
Manz Soluciones Posted November 3, 2014 Author Share Posted November 3, 2014 Por Fin creo que esta resuelto. Lo deduje en base a esta llamada SELECT COUNT(id_customer) FROM `'._DB_PREFIX_.'cart_rule` WHERE id_customer = '.$cart->id_customer.' AND active = 1'); Asique se me ocurrio mirar si existia alguna regla de compras, y ahi estaban, todos tenian fecha limite, asique eliminar y parece que ya funciona todo. Perdona las molestias. Espero que esto pueda ayudar si le pasa a otra persona. Gracias Nadie por tu rapida ayuda. Link to comment Share on other sites More sharing options...
Manz Soluciones Posted November 3, 2014 Author Share Posted November 3, 2014 Solo un comentario más. Me doy cuenta que cuando no has iniciado sesion en la tienda no te muestra estas ofertas. Imagino que eso se podria pasar por alto eliminando esto: if ($cart->id_customer != 0) Con sus correspondientes {}, porque por lo que entiendo esto es un Si el ID de COMPRADOR no es igual a NADA me haces tal. ¿Que opinas?. Gracias. Link to comment Share on other sites More sharing options...
nadie Posted November 3, 2014 Share Posted November 3, 2014 Ummm ¿La finalidad del módulo cual es? ¿Colocar promociones en el carrito en base a que condicion? ¿A lo que han comprado? ¿O manuales siempre? No tengo el modulo, por eso pregunto. Link to comment Share on other sites More sharing options...
Manz Soluciones Posted November 4, 2014 Author Share Posted November 4, 2014 Hola nadie. La finalidad basicamente es que cuando un usuario añade productos al carrito, en el carrito aparecen ofertas para ese "carrito". En plan de un "10% de descuento en tal camiseta", pero dicha oferta no aparece en el producto, solo con la compra de más productos. Un poco jaleoso la verdad, cosas del cliente. 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