Magneto - 来自特定状态的阻止订单
Posted
技术标签:
【中文标题】Magneto - 来自特定状态的阻止订单【英文标题】:Magneto - block orders from specific state 【发布时间】:2015-11-18 00:31:03 【问题描述】:我希望将 Magento 中的订单功能限制为特定状态,或者更确切地说,阻止特定状态。
我正在销售我不希望本地竞争对手能够轻松购买的产品。
使用某种形式的地理位置在网站上显示横幅会更酷,说只有当 IP 似乎来自该州时,我们才允许来自您所在州的订单。
或者,如果 IP 是基于特定状态的,则可能是使用地理位置,并且 css 隐藏添加到购物车按钮?
任何建议! 谢谢!
编辑:我已经能够得到这样的状态: 但是怎么说“如果 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'];
?>
【问题讨论】:
【参考方案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
【讨论】:
【参考方案2】:由于某种原因,这个 magento 扩展并不容易找到,但它确实有效!
http://www.magentocommerce.com/magento-connect/regions-manager.html
【讨论】:
以上是关于Magneto - 来自特定状态的阻止订单的主要内容,如果未能解决你的问题,请参考以下文章
如何阻止SAP CRM订单创建好之后,自动被置为传输状态这一行为
Chrome 扩展:阻止来自外部域的内容被加载到特定域的页面中
我想创建一个黑名单命令来阻止来自特定公会 discord.py 的邀请