2014-12-06 6 views
0

Привет, ребята, я много искал, но не нашел хорошего решения. Я хочу автоматически заполнить почтовый индекс и состояние Австралии после того, как клиент входит в свой город на странице проверки magento. Какой был бы лучший способ достичь этого? Можете ли вы порекомендовать некоторые расширения, если есть какие-либо или предложить некоторые решения. Я попытался использовать расширение Fontis, но это не сработало. Так что, ребята могут кому-то помочь. Любая помощь будет оценена по достоинству.Состояние автозаполнения и почтовый индекс в соответствии с городом в контрольной странице magento

ответ

1

Я получил решение своего вопроса. Поскольку ответа нет, я думал, что мой ответ может быть полезным. Сначала моя главная проблема - создать таблицу с австралийскими почтовыми индексами, пригородом и штатом. Для этого я googled много, и в конце концов я получил csv-файл всей этой информации. Я отфильтровал его в соответствии с моим требованием.

Вот ссылка на файл csv, который состоит из австралийских почтовых индексов, пригородов и штатов. here.

Теперь вы можете использовать этот csv для создания таблицы в базе данных, которая далее используется в автозаполнении.

Все коды, которые я использовал, могут не использоваться в вашем случае, поэтому я не хотел его ставить.

Но я думаю, что это поможет.

1

Если вы не хотите усложнять код, вот решение для вас.

Первый шаг:

загрузки последней страной почтовый индекс Excel файл и найдите файл, который первенствует в корневой папке.

Второй шаг:

Вызов функции Ajax в последней части billing.phtml (../template/persistent/checkout/onepage/)

<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script type=”text/javascript”><br> 
jQuery(document).ready(function(){ 
jQuery(‘.postcode‘).blur(function(){ //.postcode class of zipcode text field 
var s = jQuery(this).val(); 
jQuery.ajax({ 
type: ‘POST’, 
url:“http://www.sample.com/postcode.php“, //file which read zip code excel  file 
dataType: “json”, //is used for return multiple values 
data: { ‘s’ : s }, 
success: function(data){ 
try { 
jQuery(“.state“).val(data.state); //region-class of state text field 
jQuery(“.city“).val(data.dist);//city-class of city text filed 
} catch (e) { 
alert(e.Message); 
} 
}, 
error:function (xhr, status, err){ 
alert(“status=” + xhr.responseText + “, error=” + err); 
} 
}); 
}); 
}); 
</script> 

Эта функция Ajax будет вызывать « http://www.sample.com/postcode.php»файл

Под postcode.php файла мы должны читать первенствует файл и вернуть состояние и значение города

postcode.php

<?php 
extract ($_POST); 
$s=$_POST[‘s’]; //get value from ajax 
$filename=”zip.csv“; //zipcode csv file(must reside in same folder) 
$f = fopen($filename, “r”); 
while ($row = fgetcsv($f)) 
{ 
if ($row[1] == $s) //1 mean number of column of zipcode 
{ 
    $district=$row[3]; //3- Number of city column 
    $state=$row[4]; //4-Number of state column 
    break; 
} 
} 
fclose($f); 
echo json_encode(
array(“dist” => $district, 
“state” => $state, 
“zip” => $s) 
); //Pass those details by json 
?> 

Это все, Enjoy