sul*_*man 4 payment module magento
我有一个非常简单的模块,允许客户"在账户上购买".该模块并没有做任何特别的事情(它只是从Cash On Delivery模块修改过来.)
问题是我只想向登录的客户提供这种付款方式.
到目前为止我的模块看起来像这样:
BuyOnAccount/
etc/
config.xml
system.xml
Model/
PaymentMethod.php
Run Code Online (Sandbox Code Playgroud)
PaymentMethod.php的内容是:
class MyCompany_BuyOnAccount_Model_PaymentMethod extends Mage_Payment_Model_Method_Abstract
{
protected $_code = 'buyonaccount';
protected $_isInitializeNeeded = true;
protected $_canUseInternal = false;
protected $_canUseForMultishipping = false;
}
Run Code Online (Sandbox Code Playgroud)
配置和系统xml文件包含通常的事情(如果您想查看代码我会编辑,请告诉我)
所以基本上我需要在用户没有登录时禁用该模块(但显然只适用于当前的客户会话!)
有任何想法吗?
谢谢
您只需在支付模型中添加一种方法即可isAvailable(Mage_Sales_Model_Quote $quote)返回a bool.例如,在您的情况下,您可以添加以下内容:
public function isAvailable($quote = null) {
$isLoggedIn = Mage::helper('customer')->isLoggedIn();
return parent::isAvailable($quote) && $isLoggedIn;
}
Run Code Online (Sandbox Code Playgroud)
在Mage_Payment_Model_Method_Free付款方式附带Magento的是,采用这种付款方式的一个例子-它只会如果篮总为零显示.
| 归档时间: |
|
| 查看次数: |
2396 次 |
| 最近记录: |