我希望将Magento中的订单限制为特定状态,或者更确切地说,阻止特定状态。
我销售的产品不希望当地竞争对手能够轻易购买。
使用某种形式的地理位置在网站上显示横幅会更酷,说只有当IP似乎来自该州时,我们才允许来自该州的订单。
或者,如果IP是基于特定状态的,黑客可能会使用地理位置,并用css隐藏添加到购物车按钮?
有什么建议吗!谢谢
edit:我可以得到这样的状态:但是如何说"如果state=X,那么加载这个css文件,它可以隐藏添加到购物车,显示横幅等。"
<?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'];
?>
我反对使用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
}
由于某些原因,这个magento扩展不容易找到,但它确实有效!
http://www.magentocommerce.com/magento-connect/regions-manager.html