根据magento结账页面中的城市自动填充状态和邮政编码

时间:2014-12-06 16:55:42

标签: magento postal-code

大家好,我已经搜索了很多,但没有找到一个很好的解决方案。我想在客户在magento结账页面进入他们的城市后自动填写澳大利亚的邮政编码和状态。最好的方法是什么?如果有任何或建议一些解决方案,你能推荐一些扩展吗?我试图使用Fontis的扩展但它不起作用。 所以伙计们可以帮助。任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

如果您不想进入更复杂的代码,这里有适合您的解决方案。

第一步

下载最新的国家/地区邮政编码Excel文件,并在根文件夹下找到该excel文件。

第二步:

在billing.phtml的最后一部分调用ajax函数(../ 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文件下,我们必须读取excel文件并返回州和城市值

<强> 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
?>

这就是全部,享受

答案 1 :(得分:1)

我得到了我的问题的解决方案。由于没有提供答案,我认为我的答案可能会有所帮助。首先我的主要问题是创建一个包含澳大利亚邮政编码,郊区和州的表格。为此我搜索了很多,毕竟我得到了所有这些信息的csv文件。我根据我的要求过滤了它。

以下是包含澳大利亚邮政编码,郊区和州的csv文件的链接。 here

现在您可以使用此csv在数据库中创建一个表格,该表格将在自动填充中使用。

我使用的所有代码可能在您的情况下无法使用,所以我不在乎它。

但我认为这会有很大帮助。