我希望将Magento中的订单限制为特定状态,或者更确切地说,阻止特定状态。
我销售的产品我不希望本地竞争能够轻松购买。
使用某种形式的地理位置在网站上显示横幅更加清晰,说只有当IP似乎来自该州时,我们才允许来自您所在州的订单。< / p>
或者也许黑客会使用地理位置,如果IP基于特定状态,css会隐藏添加到购物车按钮?
任何建议! 谢谢!
编辑:我已经能够获得这样的状态: 但是怎么说&#34;如果state = X,那么加载这个css文件,可以隐藏添加到购物车,显示横幅等等。&#34;
<?php
function getClientIP(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$ipaddress = getClientIP();
function ip_details($ip) {
$json = file_get_contents("http://ipinfo.io/{$ip}/geo");
$details = json_decode($json, true);
return $details;
}
$details = ip_details($ipaddress);
echo $details['region'];
?>
答案 0 :(得分:1)
我反对使用css隐藏CTA按钮,如果有人只是检查页面并取消隐藏它会怎样。我建议你做类似的事情。
//考虑到您可以在服务器端使用php逻辑获取位置。
$details = ip_details($ipaddress);
$loc = $details['region'];
blockedList = array(); //maintain the list of blocked states here.
if(in_array($loc,$blockedList){
//display banner, hide add-to-cart button
} else {
//display add-to-cart button
}
答案 1 :(得分:0)
由于某些原因,这个magento扩展程序不容易找到,但它确实有效!
http://www.magentocommerce.com/magento-connect/regions-manager.html