Eutanasio Posted August 4, 2014 Share Posted August 4, 2014 (edited) Buenas, Cómo se podría redirigir hacia otra web a las visitas provenientes de países restringidos? gracais Edited August 10, 2014 by omar2886 (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted August 6, 2014 Share Posted August 6, 2014 Puedes crear una variable en el FrontController.php aprovechando el campo de la base de datos PS_ALLOWED_COUNTRIES Con esa variable excluye los paises no permitidos y los rediriges con la funcion Tools::redirect Link to comment Share on other sites More sharing options...
Eutanasio Posted August 6, 2014 Author Share Posted August 6, 2014 Gracias por la respuesta, pero ese tipo de modificaciones de código se escapa a lo que yo más o menos puedo hacer. Dices que esa modificación afectaría entonces únicamente a aquellos países de que tenga desmarcados en Geolocalización?. Me vendría muy bien que me pudierais precisar la modificación a implementar. Gracias Link to comment Share on other sites More sharing options...
ventura Posted August 6, 2014 Share Posted August 6, 2014 Activa la geolocalizacion en PREFERENCIAS / GEOLOCALIZACIÓN Luego mas abajo en opciones Seleccione los países que pueden acceder su tienda --> Quita los paises que no tendran acceso En el archivo classes / controller/FrontController.php Busca la parte public function initContent() { Y debajo pones esto /* Redirect not allow-country*/ $this->context->smarty->assign(array( 'allow-country' => Configuration::get('PS_ALLOWED_COUNTRIES'), )); if (!$allow-country) Tools::redirect('http://demo.prestashop.com/'); /* Aqui el enlace a donde quieras */ 1 Link to comment Share on other sites More sharing options...
El Patron Posted August 6, 2014 Share Posted August 6, 2014 Problema con el uso de MaxMind y PrestaShop Geo localización es que geolitecity.dat es exacta sólo el 85% del tiempo. Así que hasta el 15% de la resolución IP resultará en visitante no poder realizar sus compras.Es mejor restringir las compras, de suministrar país en el registro o envío de esos países.Mi opinión, lo siento, utiliza la traducción espero que sea claro. ---- original English Issue with using MaxMind and PrestaShop Geo Localization is that geolitecity.dat is accurate only 85% of time. So up to 15% of IP resolution will result in visitor not being able to shop.It is better to restrict shopping by not supplying country at registration or shipping for those countries.My opinion, sorry I use translation I hope it is clear. Link to comment Share on other sites More sharing options...
ventura Posted August 6, 2014 Share Posted August 6, 2014 Tienes razon Patron si se trata de paises grandes o de muchos paises puede dar problemas de acceso debido a la imprecision del geoip Link to comment Share on other sites More sharing options...
El Patron Posted August 6, 2014 Share Posted August 6, 2014 Tienes razon Patron si se trata de paises grandes o de muchos paises puede dar problemas de acceso debido a la imprecision del geoip Tengo módulo que se extiende PrestaShop nativa Geo Localización y direcciones específicamente cuestión de las visitas legítimas en módulo permite gerente de la tienda para fijar país predeterminado para el país no resuelta IP. Yo personalmente no recomiendo usar PrestaShop nativa Geo Localización debido a imprecisiones de resolución país IP sin código personalizado o un módulo como el mío. Lo siento, soy horrible estudiante de español, poco a poco (años) mejoro. --english I do have module that extends native PrestaShop Geo Localization and addresses specifically issue of legitimate visits in module allows shop manager to set default country for non-resolved IP country. I personally do not recommend using native PrestaShop Geo Localization because of inaccuracies of IP country resolution without custom code or module like mine. Sorry I am terrible student of Spanish, little by little (years) I improve. ----- Geo Targeting Pro Link to comment Share on other sites More sharing options...
Eutanasio Posted August 6, 2014 Author Share Posted August 6, 2014 Activa la geolocalizacion en PREFERENCIAS / GEOLOCALIZACIÓN Luego mas abajo en opciones Seleccione los países que pueden acceder su tienda --> Quita los paises que no tendran acceso En el archivo classes / controller/FrontController.php Busca la parte public function initContent() { Y debajo pones esto /* Redirect not allow-country*/ $this->context->smarty->assign(array( 'allow-country' => Configuration::get('PS_ALLOWED_COUNTRIES'), )); if (!$allow-country) Tools::redirect('http://demo.prestashop.com/'); /* Aqui el enlace a donde quieras */ Muchas gracias por la ayuda! voy a probar esto mismo que es justo lo que necesito. Lo que comenta El Patron es cierto y se trata de algo que me preocupaba. Pero dado que vendo exclusivamente en 1 país y mi intención no es restringir todos los demás, sino unos pocos, entonces el porcentaje de error se reduce a casos mucho más particulares. Gracias a los 2! Link to comment Share on other sites More sharing options...
Eutanasio Posted August 6, 2014 Author Share Posted August 6, 2014 (edited) He probado dicho código y al parecer, los países q tengo bloqueados en Geolocalización parece q les sale un error 503 y a los que no están restringidos les redirecciona a la dirección que pongo en la modificación de código que me facilita Ventura. Gracias por la ayuda! según veo, podría ser un paréntesis mal puesto en el array?? Edited August 6, 2014 by omar2886 (see edit history) Link to comment Share on other sites More sharing options...
El Patron Posted August 6, 2014 Share Posted August 6, 2014 503 es la página típico cuando la localización geo está habilitada la configuración y el país restringido. Usted tiene esta opción o permitir a ver tienda pero no tienda.Espero que este traductor está trabajando por lo que es claro. ---english 503 is typical page when geo localization is enabled configuration and restricted country. You have this options or allow to see shop but not shop.I hope this translator is working so it's clear. Link to comment Share on other sites More sharing options...
Eutanasio Posted August 6, 2014 Author Share Posted August 6, 2014 (edited) Gracias por la respuesta El Patron. Sí eso ya lo sabía. El problema es que estoy intentando usar el código que me ha dado Ventura pero no funciona. Necesito redirigir las visitas de países bloqueados y permitir las visitas provenientes de países permitidos Gracias! With the code Ventura provided me, if you are visiting from a restricted country, then you get the 503 page. And if you visit from an allowed country, then you get redirected. What I need is that if you visit from a restricted country you get redirected, and if you visit from an allowed one it gives you normal access to the web. Thanks! Ps: no encuentro en la BD la tabla PS_alloed_countries, tal vez sea eso?? uso PS 1.6 Edited August 6, 2014 by omar2886 (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted August 6, 2014 Share Posted August 6, 2014 (edited) La restriccion de prestashop dá muchos problema tienes muchas funciones compartidas. No te interesaria mejor redireccionar directamente a los visitantes que provienen de determinados paises ( detectados por ip) a la pagina que quieras, redireccionar directamente sin la restriccion Lo he estado probando y el codigo me funciona a veces y la mayoria de las veces da error 503 Edited August 6, 2014 by ventura (see edit history) Link to comment Share on other sites More sharing options...
Eutanasio Posted August 6, 2014 Author Share Posted August 6, 2014 La restriccion de prestashop dá muchos problema tienes muchas funciones compartidas. No te interesaria mejor redireccionar directamente a los visitantes que provienen de determinados paises ( detectados por ip) a la pagina que quieras, redireccionar directamente sin la restriccion Lo he estado probando y el codigo me funciona a veces y la mayoria de las veces da error 503 Qué va! lo que necesito es simplemente eso, los pocos países restringidos redirigirlos. En principio la restricción de geolocalización no parece estar funcionando mal según he podido ver estos días, por lo que es raro que te falle tanto no? Link to comment Share on other sites More sharing options...
ventura Posted August 6, 2014 Share Posted August 6, 2014 Tienes muchos paises? Link to comment Share on other sites More sharing options...
El Patron Posted August 6, 2014 Share Posted August 6, 2014 Puede ser más fácil de extender la función geolocationManagement en FrontController.php con una función de override o simplemente modificar esta función directamente.Creo que hay temas más interesantes en el foro español de Inglés. 10 años más no tendrán programa de traducción. aqui elseif (Configuration::get('PS_GEOLOCATION_NA_BEHAVIOR') == _PS_GEOLOCATION_NO_CATALOG_ && !FrontController::isInWhitelistForGeolocation()) $this->restrictedCountry = true; elseif (Configuration::get('PS_GEOLOCATION_NA_BEHAVIOR') == _PS_GEOLOCATION_NO_ORDER_ && !FrontController::isInWhitelistForGeolocation()) $this->context->smarty->assign(array( 'restricted_country_mode' => true, 'geolocation_country' => 'Undefined' )); ---english It may be easier to extend function geolocationManagement in FrontController.php with an override function or just modify this function directly.I think there are more interesting subjects in Spanish forum than English. 10 more years I won't need translation program. 1 Link to comment Share on other sites More sharing options...
Eutanasio Posted August 6, 2014 Author Share Posted August 6, 2014 Tienes muchos paises? 41 países restringidos, pero q en realidad son menos los q me interesan, simplemente q puestos a restringir... aproveché y quité unos cuantos más Link to comment Share on other sites More sharing options...
Eutanasio Posted August 6, 2014 Author Share Posted August 6, 2014 Puede ser más fácil de extender la función geolocationManagement en FrontController.php con una función de override o simplemente modificar esta función directamente. Creo que hay temas más interesantes en el foro español de Inglés. 10 años más no tendrán programa de traducción. aqui elseif (Configuration::get('PS_GEOLOCATION_NA_BEHAVIOR') == _PS_GEOLOCATION_NO_CATALOG_ && !FrontController::isInWhitelistForGeolocation()) $this->restrictedCountry = true; elseif (Configuration::get('PS_GEOLOCATION_NA_BEHAVIOR') == _PS_GEOLOCATION_NO_ORDER_ && !FrontController::isInWhitelistForGeolocation()) $this->context->smarty->assign(array( 'restricted_country_mode' => true, 'geolocation_country' => 'Undefined' )); ---english It may be easier to extend function geolocationManagement in FrontController.php with an override function or just modify this function directly. I think there are more interesting subjects in Spanish forum than English. 10 more years I won't need translation program. Seems like the code to trick! where/how can we put the redirection to affect the restricted county visitors? Thank you! Link to comment Share on other sites More sharing options...
ventura Posted August 6, 2014 Share Posted August 6, 2014 (edited) El codigo es este, olvidate de lo otro que puse antes Busca esto /* Display a specific page if the user country is not allowed */protected function displayRestrictedCountryPage(){header('HTTP/1.1 503 temporarily overloaded');$this->context->smarty->assign(array('shop_name' => Context::getContext()->shop->name,'favicon_url' => _PS_IMG_.Configuration::get('PS_FAVICON'),'logo_url' => self::$link->getMediaLink(_PS_IMG_.Configuration::get('PS_LOGO'))));$this->smartyOutputContent($this->getTemplatePath($this->getThemeDir().'restricted-country.tpl'));exit;}Y dejalo asi/* Display a specific page if the user country is not allowed */ protected function displayRestrictedCountryPage() { header('HTTP/1.1 503 temporarily overloaded'); $this->context->smarty->assign(array( 'shop_name' => Context::getContext()->shop->name, 'favicon_url' => _PS_IMG_.Configuration::get('PS_FAVICON'), 'logo_url' => self::$link->getMediaLink(_PS_IMG_.Configuration::get('PS_LOGO')) )); Tools::redirect('http://demo.prestashop.com/'); /* Aqui el enlace a donde quieras */ exit; }Borra cache de prestashop y de tu navegador Edited August 6, 2014 by ventura (see edit history) 2 Link to comment Share on other sites More sharing options...
Eutanasio Posted August 6, 2014 Author Share Posted August 6, 2014 Perfecto de los perfectos! muchísimas gracias, va de perlas ahora! Link to comment Share on other sites More sharing options...
Eutanasio Posted July 14, 2016 Author Share Posted July 14, 2016 Hola, tengo una cuestión más. Es muy frecuente que aun estando dentro del país a algunos usuarios móviles les salga la página de la restricción por geolocalización. Y no solo eso, sino que una vez te haya salido en el móvil, aunque vuelvas a cambiar de IP, ya siempre te carga la versión restringida a no se que uses navegación anónima.Alguna solución? Link to comment Share on other sites More sharing options...
Recommended Posts