Magento paypal快递审查页面和协议

时间:2015-07-23 06:37:50

标签: magento paypal review

此刻我正试图对Magento的Paypal Express Extension进行一些改动。我试图摆脱评论页面,因为这是不必要的。

如何做到这一点很简单: Magento: easy way to remove "paypal/express/review" step

但是当你启用协议时它将不起作用。 这就是问题所在:

app/code/core/Mage/Paypal/Controller/Express/Abstract.php 
  

第314到316行必须取消注释

if (array_diff($requiredAgreements, $postedAgreements)) {
   Mage::throwException(Mage::helper('paypal')->__('Please agree to all the terms and conditions before placing the order.'));
}

app/code/community/Sandfox/RemovePaypalExpressReviewStep/etc/config.xml 

<?xml version="1.0"?>
<config>
    <modules>
        <Sandfox_RemovePaypalExpressReviewStep>
            <version>0.1.0</version>
        </Sandfox_RemovePaypalExpressReviewStep>
    </modules>
    <global>
        <models>
            <sandfox_removepaypalexpressreviewstep>
                <class>Sandfox_RemovePaypalExpressReviewStep_Model</class>
            </sandfox_removepaypalexpressreviewstep>
            <paypal>
                <rewrite>
                    <config>Sandfox_RemovePaypalExpressReviewStep_Model_Config</config>
                </rewrite>
            </paypal>
        </models>
        <events>
            <controller_action_predispatch_paypal_express_review>
                <observers>
                    <sandfox_removepaypalexpressreviewstep>
                        <type>singleton</type>
                        <class>sandfox_removepaypalexpressreviewstep/observer</class>
                        <method>controllerActionPredispatchPaypalExpressReview</method>
                    </sandfox_removepaypalexpressreviewstep>
                </observers>
            </controller_action_predispatch_paypal_express_review>
        </events> 
    </global>
    <frontend>
        <routers>
            <paypal>
                <args>
                    <modules>
                         <Sandfox_RemovePaypalExpressReviewStep before="Mage_Paypal">Sandfox_RemovePaypalExpressReviewStep</Sandfox_RemovePaypalExpressReviewStep>
                    </modules>
                </args>
            </paypal>
        </routers>
    </frontend>
</config>

现在我试图重写控制器(它真的是一个控制器吗?为什么它不在控制器中,但它有自己的Controller目录?)

app/code/community/Sandfox/RemovePaypalExpressReviewStep/Controller/Express/Abstract.php

    <?php
    include_once("Mage/Paypal/Controller/Express/Abstract.php");

    class Sandfox_RemovePaypalExpressReviewStep_Controller_Express_Abstract extends Mage_Paypal_Controller_Express_Abstract
    {

        public function placeOrderAction()
        {
            try {
            .
            .
            .
                //    if (array_diff($requiredAgreements, $postedAgreements)) {
                 //       Mage::throwException(Mage::helper('paypal')->__('Please agree to all the terms and conditions before placing the order.'));
                  //  }
                }       
            .
            .
            .       

}

目前重写不起作用。有人可以给我一个暗示吗?

TEC:
Magento 1.9.2
PHP 5.5
MYSQL 5.6.19

2 个答案:

答案 0 :(得分:0)

在config.xml中,删除模块名称

之后的空格
"yyyy/MM/dd hh:mm:ss tt"

应改为

<Sandfox_RemovePaypalExpressReviewStep before="Mage_Paypal">Sandfox_RemovePaypalExpressReviewStep </Sandfox_RemovePaypalExpressReviewStep>

答案 1 :(得分:0)

您不能扩展Abstract类。您需要复制到本地/法师...