angelactual Posted September 9, 2015 Share Posted September 9, 2015 Buenos días, Me han encalomado un proyecto ya empezado con prestashop en el cual es necesaria la autenticación del usuario para poder ver los productos de la tienda. Bien, he estado mirando otras tiendas realizadas con anterioridad por mi y no es necesario dicho login para ver el producto. No encuentro la opción para deshabilitarlo. Alguien puede ayudarme? Version presta: 1.6.0.9 Gracias y un saludo! Link to comment Share on other sites More sharing options...
ventura Posted September 9, 2015 Share Posted September 9, 2015 Es posible que se haya hecho alguna modificacion para ello, revisa la funcion init del FrontContoller.php o el ProductController.php por si han añadido al principio un public $auth = true; o algo parecido Link to comment Share on other sites More sharing options...
angelactual Posted September 9, 2015 Author Share Posted September 9, 2015 Hola i gracias por responder! He encontrado la linea de codigo que me indicas pero no en los archivos que me comentas. Dicha linea la he encontrado en los siguientes archivos: AddressController.php AddressesController.php DiscountController.php HistoryController.php IdentityController.php MyAccountController.php OrderDetailController.php OrderFollowController.php OrderReturnController.php OrderSlipController.php He probado de ponerlo a false, pero ninguno de estos parece que sea el indicado... Entiendo que son para los datos del usuario y para el carrito de la compra, no es asi? Link to comment Share on other sites More sharing options...
angelactual Posted September 9, 2015 Author Share Posted September 9, 2015 Por otro lado, he intentado activar el modo catalogo y desactivar la opcion mostrar precio, pero ahun así me muestra siempre los precios :S Tambien he desactivado la opcion de mostrar precios para los grupos de usuarios pero no me hace caso... Alguna solucion? Gracias!! Link to comment Share on other sites More sharing options...
ventura Posted September 9, 2015 Share Posted September 9, 2015 Es posible que tengas algun condicional Hola i gracias por responder! He encontrado la linea de codigo que me indicas pero no en los archivos que me comentas. Dicha linea la he encontrado en los siguientes archivos: AddressController.php AddressesController.php DiscountController.php HistoryController.php IdentityController.php MyAccountController.php OrderDetailController.php OrderFollowController.php OrderReturnController.php OrderSlipController.php He probado de ponerlo a false, pero ninguno de estos parece que sea el indicado... Entiendo que son para los datos del usuario y para el carrito de la compra, no es asi? esos archivos no tienen nada que ver con la visualizacion del producto, asi que dejalos como estaban, son archivos relacionados con el proceso de compra y acceso e identidad del usuario registrado Link to comment Share on other sites More sharing options...
ventura Posted September 9, 2015 Share Posted September 9, 2015 Sin saber mas y sin poder ver la web yo miraria por donde te he dicho antes la funcion init del FrontController.php o el init del ProductController.php, o puede que haya un modulo instalado que sobreescriba alguno de esos archivos Link to comment Share on other sites More sharing options...
angelactual Posted September 9, 2015 Author Share Posted September 9, 2015 He comprobado y no hay módulos afectando, en cambio si que hay una funcion init en el ProductController: Disculpa mi ignorancia pero no veo donde puede estar el fallo... public function init(){parent::init();if ($id_product = (int)Tools::getValue('id_product'))$this->product = new Product($id_product, true, $this->context->language->id, $this->context->shop->id);if (!Validate::isLoadedObject($this->product)){header('HTTP/1.1 404 Not Found');header('Status: 404 Not Found');$this->errors[] = Tools::displayError('Product not found');}else{$this->canonicalRedirection();/** If the product is associated to the shop* and is active or not active but preview mode (need token + file_exists)* allow showing the product* In all the others cases => 404 "Product is no longer available"*/if (!$this->product->isAssociatedToShop() || !$this->product->active){if (Tools::getValue('adtoken') == Tools::getAdminToken('AdminProducts'.(int)Tab::getIdFromClassName('AdminProducts').(int)Tools::getValue('id_employee')) && $this->product->isAssociatedToShop()){// If the product is not active, it's the admin preview mode$this->context->smarty->assign('adminActionDisplay', true);}else{$this->context->smarty->assign('adminActionDisplay', false);if ($this->product->id_product_redirected == $this->product->id)$this->product->redirect_type = '404';switch ($this->product->redirect_type){case '301':header('HTTP/1.1 301 Moved Permanently');header('Location: '.$this->context->link->getProductLink($this->product->id_product_redirected));break;case '302':header('HTTP/1.1 302 Moved Temporarily');header('Cache-Control: no-cache');header('Location: '.$this->context->link->getProductLink($this->product->id_product_redirected));break;case '404':default:header('HTTP/1.1 404 Not Found');header('Status: 404 Not Found');$this->errors[] = Tools::displayError('This product is no longer available.');break;}}}elseif (!$this->product->checkAccess(isset($this->context->customer) ? $this->context->customer->id : 0)){header('HTTP/1.1 403 Forbidden');header('Status: 403 Forbidden');$this->errors[] = Tools::displayError('You do not have access to this product.');}else{// Load category$id_category = false;if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == Tools::secureReferrer($_SERVER['HTTP_REFERER']) // Assure us the previous page was one of the shop&& preg_match('~^.*(?<!\/content)\/([0-9]+)\-(.*[^\.])|(.*)id_(category|product)=([0-9]+)(.*)$~', $_SERVER['HTTP_REFERER'], $regs)){// If the previous page was a category and is a parent category of the product use this category as parent category$id_object = false;if (isset($regs[1]) && is_numeric($regs[1]))$id_object = (int)$regs[1];elseif (isset($regs[5]) && is_numeric($regs[5]))$id_object = (int)$regs[5];if ($id_object){$referers = array($_SERVER['HTTP_REFERER'],urldecode($_SERVER['HTTP_REFERER']));if (in_array($this->context->link->getCategoryLink($id_object), $referers)) $id_category = (int)$id_object;elseif (isset($this->context->cookie->last_visited_category) && (int)$this->context->cookie->last_visited_category && in_array($this->context->link->getProductLink($id_object), $referers))$id_category = (int)$this->context->cookie->last_visited_category;}}if (!$id_category || !Category::inShopStatic($id_category, $this->context->shop) || !Product::idIsOnCategoryId((int)$this->product->id, array('0' => array('id_category' => $id_category))))$id_category = (int)$this->product->id_category_default;$this->category = new Category((int)$id_category, (int)$this->context->cookie->id_lang);if (isset($this->context->cookie) && isset($this->category->id_category) && !(Module::isInstalled('blockcategories') && Module::isEnabled('blockcategories')))$this->context->cookie->last_visited_category = (int)$this->category->id_category;}}} Link to comment Share on other sites More sharing options...
Recommended Posts