When I copy checkout_cart_index.xml page to my theme it works fine but when I change

<block class="Magento\Checkout\Block\Cart\Grid" name="checkout.cart.form" as="cart-items" template="Magento_Checkout::cart/form.phtml" after="cart.summary">


<block class="Magento\Checkout\Block\Cart\Grid" name="checkout.cart.form" as="cart-items" template="Magento_Theme::cart/form.phtml" after="cart.summary">

For overriding a template file from my theme the discount coupon form disappears and it also disappears from from html too.

Thanks in advance.

  • 1
    only phtml file override as your theme path folder not to xml file need to override. – Vijay Khirade Feb 21 '18 at 12:40
  • If I do not override XML theme path it get template from module_checkout rather than my custom_theme – Abdullah Shahid Feb 21 '18 at 13:10

If you want to override the the .phtml template file try to put your form.phtml file inside


You should use setTemplate action in layout xml file, if you want to override phtml from your custom module


    <?xml version="1.0"?>
    <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
          <referenceBlock name="checkout.cart.form">
             <action method="setTemplate">
                 <argument name="template" xsi:type="string">Magento_Theme::cart/form.phtml</argument>

All I do is move checkout.cart.coupon to my container and it is was apparent where I want. Here is the code

<move element="checkout.cart.coupon" destination="summary-col1" before="-"/>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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