2

I create plugin in my custom module to override the method collectCarrierRates($carrierCode, $request), below code is not working. What mistake here?

app/code/Vendor/Shippingtest/etc/frontend/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Shipping\Model\Shipping">
        <plugin name="vendor-shippingtest-test"
                type="Vendor\Shippingtest\Plugin\Test"
                sortOrder="10"/>
    </type>
</config>

app/code/Vendor/Shippingtest/Plugin/Test.php

<?php

namespace Vendor\Shippingtest\Plugin;

class Test
{
    public function after(Magento\Shipping\Model\Shipping $subject, $result)
    {
        echo "Calling";
    }
}

1 Answer 1

3

I'm not entirely sure what you're trying to achieve but there's a major problem in your method name, it does not contain the name of the original method.

You should replace:

public function after(Magento\Shipping\Model\Shipping $subject, $result)

With:

public function afterCollectCarrierRates(Magento\Shipping\Model\Shipping $subject, $result)

So your plugin can work.

6
  • Hello Raphael,thanks to reply. I try to use your code, but same here plugin is not working. Sep 5, 2016 at 10:27
  • @PayalPatel I'm not sure an echo would be enough to show your the code is working. Try to log data by using the following method magento.stackexchange.com/questions/92434/… Sep 5, 2016 at 10:30
  • Try to log data but log file is not create in var/log folder. Sep 5, 2016 at 10:36
  • @PayalPatel How are you testing your module ? Are you sure you follow a testing procedure that triggers the original collectCarrierRates method ? Sep 5, 2016 at 10:38
  • 1
    @PayalPatel maybe try to move your di.xml outside the frontend folder Sep 5, 2016 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.