FranciscoVillen Posted October 17, 2013 Share Posted October 17, 2013 Buenos días, Un cliente nos ha consultado si sería posible que la lista de productos destacados que le aparezcan a quien entrá a la web cambie según la localización de provincia del mismo. Por ejemplo, si entra alguien de Huelva, que le aparezca primero los productos de la categoría "Huelva", si entra alguien de Malaga que le aparezca los productos de la categoría "Malaga". Sé que prestashop ofrece geolocalización a nivel de paises, pero desconozco si puede ofrecer datos de la provincia en la que te encuentras. Si hay alguna forma de obtener la provincia del que visita la web ya sería más facil tocar codigo y hacer estructuras selectivas para que segun cada localización te cargue los productos de determinada categoría. ¿Habeis trabajado o conoceis alguna funcionalidad que ofrezca algo parecido? Gracias. Link to comment Share on other sites More sharing options...
petete2008 Posted October 17, 2013 Share Posted October 17, 2013 No conozco ningún módulo pero hay mucho código en la web donde dado una ip te indica la provincia y sabiendo esto puedes programarte el módulo a medida. <?php $ip = '212.32.52.135'; //IP de ejemplo $default = 'desconocido'; //IP por defecto if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost') $ip = '8.8.8.8'; $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)'; $url = 'http://ipinfodb.com/ip_locator.php?ip='.urlencode($ip); $ch = curl_init(); $curl_opt = array( CURLOPT_FOLLOWLOCATION => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $curlopt_useragent, CURLOPT_URL => $url, CURLOPT_TIMEOUT => 1, CURLOPT_REFERER => 'http://'.$_SERVER['HTTP_HOST'], ); curl_setopt_array($ch, $curl_opt); $content = curl_exec($ch); if (!is_null($curl_info)) { $curl_info = curl_getinfo($ch); } curl_close($ch); if ( preg_match('{<li>Ciudad: ([^<]*)</li>}i', $content, $regs)) $ciudad = $regs[1]; if ( preg_match('{<li>Provincia: ([^<]*)</li>}i', $content, $regs)) $estado = $regs[1]; if( $ciudad != '' && $estado != '' ){ $location = $ciudad. ', ' . $estado; echo $location; } else { echo $default; } ?> Link to comment Share on other sites More sharing options...
FranciscoVillen Posted October 18, 2013 Author Share Posted October 18, 2013 Gracias Petete, He estado buscando código y parece que hay bastante información. Tocará programarme un modulo a medida e ir tirando con la información que hay. Dejo el hilo abierto por si alguién tiene algo más que aportar en este tema. Link to comment Share on other sites More sharing options...
Recommended Posts