num*_*l25 4 php zend-framework magento e-commerce
我有点好奇.我可以做些什么来使支持网关的调试体验更容易一些.退房时,它总是进行ajax调用.所以我无法通过print_r()或echo来查看进展情况.有没有更简单的方法来做到这一点而不会破坏任何东西.是否可以禁用ajax调用并定期发布.
简短的回答是:这样做是为了进行非破坏性调试.
Mage::log("Logging a message");
Run Code Online (Sandbox Code Playgroud)
答案如下.
我没有完成大量的payement网关调试,但许多支付网关都有一个"调试"设置
System -> Configuration -> Sales -> Payment Methods
Run Code Online (Sandbox Code Playgroud)
检查authorize.net选项组以获取此示例.如果将其翻转到"是"位置,调试信息将开始喷射到日志文件.这假设您已开启登录
System -> Configuration -> Advanced -> Developer -> Log Settings
Run Code Online (Sandbox Code Playgroud)
您可能需要自己创建日志文件
var/log/system.log
var/log/exception.log
Run Code Online (Sandbox Code Playgroud)
确保Web服务器可以写入这些文件.
您也可以使用静态自行登录这些文件
Mage::log("Logging a message");
Run Code Online (Sandbox Code Playgroud)
方法调用.
最后,如果您的支付网关没有调试设置,您可以随时伪造它.所有支付模型(应该)都继承自以下类
class Mage_Payment_Model_Method_Abstract
app/code/core/Mage/Payment/Model/Method/Abstract.php
Run Code Online (Sandbox Code Playgroud)
此类有一个方法,用于确定调试是打开还是关闭
/**
* Define if debugging is enabled
*
* @return bool
*/
public function getDebugFlag()
{
return $this->getConfigData('debug');
}
Run Code Online (Sandbox Code Playgroud)
如果没有可用的调试配置标志,您可以暂时将此方法更改为始终返回true
public function getDebugFlag()
{
return 1;
//return $this->getConfigData('debug');
}
Run Code Online (Sandbox Code Playgroud)
但是,我不确定基类的调试程度(意味着如果配置中没有调试标志,可能是因为支付网关模型本身没有调试).值得一探的是.
祝好运!
| 归档时间: |
|
| 查看次数: |
6952 次 |
| 最近记录: |