我现在使用magento有一段时间了。我想知道是否可以启用货到付款选项仅供管理员使用。我想用它作为商店提货...
因此,这种方式只能在管理面板中为那些想要商店取货的人创建手动订单。
我不希望它显示在 Magento 前端商店中。
大家可以帮帮我吗???
有很多方法可以实现这一点,但它们需要熟悉 Magento 生态系统。我不鼓励使用 CSS 对最终用户隐藏它,因为稍微了解 CSS 的人可以轻松地取消隐藏它并获得免费访问权限来购买您的产品。
我还建议不要覆盖核心文件(即使您没有编辑它们),因为这会导致将来出现升级问题。
扎实的方法:
我最喜欢的方法是启用支票/汇款订单方法,并为自己创建一个小模块,如下所示。前面的考虑因素在这里都不起作用。
/app/etc/modules/Company_Module.xml
<?xml version="1.0"?>
<config>
<modules>
<Company_Module>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Payment/>
</depends>
</Company_Module>
</modules>
</config>
/app/code/local/Company/Module/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Company_Module>
<version>0.0.1</version>
</Company_Module>
</modules>
<global>
<models>
<Company_Module>
<class>Company_Module_Model</class>
</Company_Module>
</models>
<events>
<payment_method_is_active>
<observers>
<company_module>
<type>singleton</type>
<class>Company_Module/Observer</class>
<method>paymentMethodIsActive</method>
</company_module>
</observers>
</payment_method_is_active>
</events>
</global>
</config>
/app/code/local/Company/Module/Model/Observer.php
<?php
class Company_Module_Model_Observer
{
public function paymentMethodIsActive($observer)
{
$instance = $observer->getMethodInstance();
$result = $observer->getResult();
if ($instance->getCode() == "checkmo") {
if (Mage::app()->getStore()->isAdmin()) {
$result->isAvailable = true;
} else {
$result->isAvailable = false;
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)