표준 CC 블록이 아닌 iFrame을 호출하는 Magento Payments Module을 코딩하려고합니다. 코드를 실행 그러나 때 다음과 같은 오류 얻을 아래 :Magento 맞춤 결제 iFrame 모듈 오류
Fatal error: Call to a member function setMethod() on a non-object in /opt/bitnami/apps/magento/htdocs/app/code/core/Mage/Payment/Helper/Data.php on line 106
의 Config.xml :
<?xml version="1.0"?>
<config>
<modules>
<Lynch_Peach>
<!-- declare module's version information for database updates -->
<version>0.1.0</version>
</Lynch_Peach>
</modules>
<global>
<blocks>
<peach>
<class>Lynch_Peach_Block</class>
</peach>
</blocks>
<models>
<peach>
<class>Lynch_Peach_Model</class>
</peach>
</models>
<!-- declare resource setup for new module -->
<resources>
<!-- resource identifier -->
<peach_setup>
<!-- specify that this resource is a setup resource and used for upgrades -->
<setup>
<!-- which module to look for install/upgrade files in -->
<module>Lynch_Peach</module>
</setup>
<!-- specify database connection for this resource -->
<connection>
<!-- do not create new connection, use predefined core setup connection -->
<use>core_setup</use>
</connection>
</peach_setup>
<peach_write>
<connection>
<use>core_write</use>
</connection>
</peach_write>
<peach_read>
<connection>
<use>core_read</use>
</connection>
</peach_read>
</resources>
</global>
<!-- declare default configuration values for this module -->
<default>
<!-- 'payment' configuration section (tab) -->
<payment>
<!-- 'peach' configuration group (fieldset) -->
<peach>
<!-- by default this payment method is inactive -->
<active>0</active>
<!-- model to handle logic for this payment method -->
<model>peach/paymentMethod</model>
<!-- order status for new orders paid by this payment method -->
<order_status>pending</order_status>
<!-- default title for payment checkout page and order view page -->
<title>Peach Payments</title>
<cctypes>VI,MC</cctypes>
<payment_action>authorize_capture</payment_action>
<allowspecific>0</allowspecific>
</peach>
</payment>
</default>
</config>
지불 Method.php
<?php
class Lynch_Peach_Model_PaymentMethod extends Mage_Payment_Model_Method_Cc
{
protected $_code = 'peach';
protected $_formBlockType = 'peach/form';
protected $_isGateway = false;
protected $_canAuthorize = false;
protected $_canCapture = false;
protected $_canCapturePartial = false;
protected $_canRefund = false;
protected $_canVoid = false;
protected $_canUseInternal = false;
protected $_canUseCheckout = true;
protected $_canUseForMultishipping = false;
protected $_canSaveCc = false;
public function createFormBlock($name)
{
$block = $this->getLayout()->createBlock('peach/form', $name)
->setMethod('peach')
->setPayment($this->getPayment())
->setTemplate('peach/form.phtml');
return $block;
}
}
?>
Form.php :
<?php
class Lynch_Peach_Block_Form extends Mage_Payment_Block_Form
{
// {{{ _construct()
/**
* _construct()
*/
protected function _construct()
{
parent::_construct();
$$this->setTemplate('peach/form.phtml');
}
// }}}
}
?>
을
괜찮아요. 어디에서이 오류가 있습니까? 'createFormBlock' 함수는 어디에서 사용합니까? – Sergey