MedinaAJ Posted October 1, 2019 Share Posted October 1, 2019 Buenas, Estoy probando a modificar un controlador, concretamente el CartController, y con el fin de ver los datos que van pasándose, voy incluyendo prints. Actualmente estoy en la función "postProcess" de este controlador, he puesto un insert a la base de datos: public function postProcess() { // Update the cart ONLY if $this->cookies are available, in order to avoid ghost carts created by bots if ($this->context->cookie->exists() && !$this->errors && !($this->context->customer->isLogged() && !$this->isTokenValid())) { if (Tools::getIsset('add') || Tools::getIsset('update')) { /*Code mio*/ db::getInstance()->execute('INSERT INTO '. _DB_PREFIX_ .'cart_product_cama_articulada VALUES (1,2365)'); /*Fin code mio*/ $this->processChangeProductInCart(); } elseif (Tools::getIsset('delete')) { $this->processDeleteProductInCart(); } elseif (Tools::getIsset('changeAddressDelivery')) { $this->processChangeProductAddressDelivery(); } elseif (Tools::getIsset('allowSeperatedPackage')) { $this->processAllowSeperatedPackage(); } elseif (Tools::getIsset('duplicate')) { $this->processDuplicateProduct(); } // Make redirection if (!$this->errors && !$this->ajax) { $queryString = Tools::safeOutput(Tools::getValue('query', null)); if ($queryString && !Configuration::get('PS_CART_REDIRECT')) { Tools::redirect('index.php?controller=search&search='.$queryString); } // Redirect to previous page if (isset($_SERVER['HTTP_REFERER'])) { preg_match('!http(s?)://(.*)/(.*)!', $_SERVER['HTTP_REFERER'], $regs); if (isset($regs[3]) && !Configuration::get('PS_CART_REDIRECT')) { $url = preg_replace('/(\?)+content_only=1/', '', $_SERVER['HTTP_REFERER']); Tools::redirect($url); } } Tools::redirect('index.php?controller=order&'.(isset($this->id_product) ? 'ipa='.$this->id_product : '')); } } elseif (!$this->isTokenValid()) { if (Tools::getValue('ajax')) { $this->ajaxDie(Tools::jsonEncode(array( 'hasError' => true, 'errors' => array(Tools::displayError('Impossible to add the product to the cart. Please refresh page.')), ))); } else { Tools::redirect('index.php'); } } } En la sección code mio hago un insert y se ve reflejado, hasta ahí sin problema, pero cuando me meto al método "processChangeProductInCart" justo debajo de esa linea, y hago lo mismo, no me inserta nada, el código queda asi: protected function processChangeProductInCart() { /*Code mio*/ db::getInstance()->execute('INSERT INTO '. _DB_PREFIX_ .'cart_product_cama_articulada VALUES (1,2365)'); /*Fin code mio*/ $mode = (Tools::getIsset('update') && $this->id_product) ? 'update' : 'add'; if ($this->qty == 0) { $this->errors[] = Tools::displayError('Null quantity.', !Tools::getValue('ajax')); } elseif (!$this->id_product) { $this->errors[] = Tools::displayError('Product not found', !Tools::getValue('ajax')); } $product = new Product($this->id_product, true, $this->context->language->id); if (!$product->id || !$product->active || !$product->checkAccess($this->context->cart->id_customer)) { $this->errors[] = Tools::displayError('This product is no longer available.', !Tools::getValue('ajax')); return; } .... Pues en la primera sección inserta, pero en la segunda no, y no entiendo el por qué. Si alguien puede arrojar algo de luz sobre mi problema sería de gran ayuda. Un saludo. Link to comment Share on other sites More sharing options...
MedinaAJ Posted October 23, 2019 Author Share Posted October 23, 2019 Hola. Por si a alguien le pasa algo similar, ya solucioné el problema. Básicamente la función que menciono de este controller estaba sobreescrita en la carpeta override, por eso no pasaba por ahí 🤯 Un saludo. 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