Jump to content

[Solucionado] Geolocalización y redirección


Eutanasio

Recommended Posts

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

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 */
	
  • Like 1
Link to comment
Share on other sites

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

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

 

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

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 by omar2886 (see edit history)
Link to comment
Share on other sites

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

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 by omar2886 (see edit history)
Link to comment
Share on other sites

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 by ventura (see edit history)
Link to comment
Share on other sites

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

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. :)

  • Like 1
Link to comment
Share on other sites

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

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 by ventura (see edit history)
  • Like 2
Link to comment
Share on other sites

  • 1 year later...

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

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...