moraira Posted July 24, 2014 Share Posted July 24, 2014 (edited) Hola visto que poco a poco nos tenemos que poner las pilas (lo de poco a poco va de coña) me parece interesante aprender a manejar las variables de geolocalización. Antes de ponerme a ello me pregunto si algun compañero ya lo ha hecho y me puede guiar un poco. Lo que pretendo es poder identificar en qué país se encuentra un cliente para mostrar o no un CMS, algo parecido a lo que usan las reglas de precios. Al igual que Zara.com pretendo que las condiciones de compra, se muestren sólo para los clientes europeos, (en especial me refiero a donde se dice que estamos obligados a recoger gratuitamente un paquete si el cliente lo quiere devolver) en nuestro caso (y en el de todos) es evidente, una recogida europea son 10-20€ en australia 200€ y la ley nos obliga sólo ha hacerlo en la UE http://blog.sage.es/economia-empresa/cinco-aspectos-que-debe-modificar-tu-tienda-online-para-adaptarse-la-nueva-ley-del-consumidor/ Edited July 24, 2014 by moraira (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted July 24, 2014 Share Posted July 24, 2014 Prueba con esto, haces el include en el controlador donde quieres utilizar la variable de geolocalización, en el init del controller esto include_once(_PS_GEOIP_DIR_.'geoipcity.inc'); $gi = geoip_open(realpath(_PS_GEOIP_DIR_.'GeoLiteCity.dat'), GEOIP_STANDARD); $record = geoip_record_by_addr($gi, Tools::getRemoteAddr()); Luego en el $this->context->smarty->assign(array( Añadimos esto para que nos localice el pais 'country_name' => $record->country_name Y luego ya en el .tpl utilizamos la variable como queramos {if $country_name == Spain} Paella, futbol y toros{/if} Interesante post, pillo sitio 2 Link to comment Share on other sites More sharing options...
moraira Posted July 24, 2014 Author Share Posted July 24, 2014 Perfecto Ventura, me pongo con ello. La verdad es que la geolocalización tiene un montón de utilidades, nosotros usamos reglas de precios por país ya que incluimos los gastos de envio en el precio y enviamos a todo el mundo (la tabla de precios especificos tiene más de 15.000 registros) pero podria servir para ocultar un cms determinado, un modulo o incluso un producto que no quisieramos vender en un país. Me ha llamado la atención el ver que la tienda de Zara directamente oculta menus (condiciones de venta, devoluciones) segun el país que estamos..... muy util si señor Link to comment Share on other sites More sharing options...
ventura Posted July 24, 2014 Share Posted July 24, 2014 Utilizando condicionales en los .tpl se podrían hacer muchas cosas. Yo siempre lo he usado para la pagina de producto pero añadiendolo al modulo o controlador en el que queramos utilizarlo se puede hacer donde se quiera. 1 Link to comment Share on other sites More sharing options...
ventura Posted July 24, 2014 Share Posted July 24, 2014 Revisando el geoipcity.inc he visto que tambien se pueden utilizar entre otras la variable {$continent_code} Cuyos codigos serian: AF África AN Antártica AS Asia EU Europa NA Norte américa OC Oceanía SA Sur america Y la : {$country_code} para los ISO de cada pais 1 Link to comment Share on other sites More sharing options...
ventura Posted July 25, 2014 Share Posted July 25, 2014 (edited) Hacemos esto en el FronController.php Prueba con esto, haces el include en el controlador donde quieres utilizar la variable de geolocalización, en el init del controller esto include_once(_PS_GEOIP_DIR_.'geoipcity.inc'); $gi = geoip_open(realpath(_PS_GEOIP_DIR_.'GeoLiteCity.dat'), GEOIP_STANDARD); $record = geoip_record_by_addr($gi, Tools::getRemoteAddr()); Luego en el $this->context->smarty->assign(array( Añadimos esto para que nos localice el pais 'country_name' => $record->country_name Y luego ya en el .tpl utilizamos la variable como queramos {if $country_name == Spain} Paella, futbol y toros{/if} Y ya podemos utilizar la variable en cualquier .tpl de modulos o de la plantilla Edited July 25, 2014 by ventura (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts