Inés Posted February 17, 2015 Share Posted February 17, 2015 Hola a todos, acabo de terminar la edición de una tienda en Prestashop 1.6, lo único que me queda es hacer la tienda esté oculta a usuarios no registrados, que cuando intenten entrar sean redirigidos a la página de registro, y una vez se registren ya puedan acceder al resto del contenido. He estado buscando pero no he encontrado nada. Alguien sabría decirme si existe algún modulo o alguna forma de hacerlo? Se que se puede porque he visto web que lo hacen. Un saludo. InésM Link to comment Share on other sites More sharing options...
Rolige Posted February 17, 2015 Share Posted February 17, 2015 Se podria de muchas formas, la ideal seria con un modulo, la forma practica seria agregando esta condicion en el FrontController.php, unicamente debes tener cuidado con agregar como excepciones a los robots, de lo contrario tu tienda se ira a pique en el posicionamiento. Link to comment Share on other sites More sharing options...
Inés Posted February 17, 2015 Author Share Posted February 17, 2015 Se podria de muchas formas, la ideal seria con un modulo, la forma practica seria agregando esta condicion en el FrontController.php, unicamente debes tener cuidado con agregar como excepciones a los robots, de lo contrario tu tienda se ira a pique en el posicionamiento. Muchas Gracias, COTOKO. Me podrías decir que códigos llevo añadir al FrontController.php para conseguir esto? Un saludo. Link to comment Share on other sites More sharing options...
Rolige Posted February 18, 2015 Share Posted February 18, 2015 Bueno como te dije, la forma practica y rapida seria en el archivo: /classes/controller/FrontController.php Busca la linea: if ($this->auth && !$this->context->customer->isLogged($this->guestAllowed)) Tools::redirect('index.php?controller=authentication'.($this->authRedirection ? '&back='.$this->authRedirection : '')); Y reemplazala por: if ($this->auth && !$this->context->customer->isLogged($this->guestAllowed) || (!$this->isInWhitelistForGeolocation() && $this->context->controller->php_self != 'authentication' && !$this->context->customer->isLogged())) Tools::redirect('index.php?controller=authentication'.($this->authRedirection ? '&back='.$this->authRedirection : '')); Link to comment Share on other sites More sharing options...
Inés Posted February 20, 2015 Author Share Posted February 20, 2015 Bueno como te dije, la forma practica y rapida seria en el archivo: /classes/controller/FrontController.php Busca la linea: if ($this->auth && !$this->context->customer->isLogged($this->guestAllowed)) Tools::redirect('index.php?controller=authentication'.($this->authRedirection ? '&back='.$this->authRedirection : '')); Y reemplazala por: if ($this->auth && !$this->context->customer->isLogged($this->guestAllowed) || (!$this->isInWhitelistForGeolocation() && $this->context->controller->php_self != 'authentication' && !$this->context->customer->isLogged())) Tools::redirect('index.php?controller=authentication'.($this->authRedirection ? '&back='.$this->authRedirection : '')); Gracias, COTOKO. Y con este código no caerá el SEO, entonces? Un saludo. Eres genial! Link to comment Share on other sites More sharing options...
Rolige Posted February 20, 2015 Share Posted February 20, 2015 No, siempre y cuando no hayas modificado las IP de whitelist en la veo localización de PrestaShop. Link to comment Share on other sites More sharing options...
Recommended Posts