Disable “Proceed to Checkout” button on cart page magento 2Magento2 weird checkout page issue on click of Proceed to Checkout buttonHow do you add a custom block in checkout/cart page in magento2?Proceed to checkout button missing from cart PagePlace order button in Magento 2 checkoutProceed to checkout redirects to empty cart pageMagento 1.9.3.4 “Proceed To Checkout” button disappears after disabling Onepage CheckoutMagento 2 checkout cart shipping method name i just want to do some changesApply discount Block moving issue in magento2 cart pageMagento 2 : How to update 'Update cart' Button`s Template?How to override the checkout_cart_configure.xml template file into custom module

Who was the lone kid in the line of people at the lake at the end of Avengers: Endgame?

Retract an already submitted recommendation letter (written for an undergrad student)

Does tea made with boiling water cool faster than tea made with boiled (but still hot) water?

What is the philosophical significance of speech acts/implicature?

How to not starve gigantic beasts

Can an Area of Effect spell cast outside a Prismatic Wall extend inside it?

How could Tony Stark make this in Endgame?

How to pronounce 'c++' in Spanish

Why do games have consumables?

A ​Note ​on ​N!

Is it idiomatic to construct against `this`

I preordered a game on my Xbox while on the home screen of my friend's account. Which of us owns the game?

Can SQL Server create collisions in system generated constraint names?

Why does nature favour the Laplacian?

Overlay of two functions leaves gaps

Is there a way to generate a list of distinct numbers such that no two subsets ever have an equal sum?

How does Captain America channel this power?

What's the polite way to say "I need to urinate"?

What happened to Captain America in Endgame?

Apply MapThread to all but one variable

Coordinate my way to the name of the (video) game

What is the smallest unit of eos?

Implications of cigar-shaped bodies having rings?

How to denote matrix elements succinctly?



Disable “Proceed to Checkout” button on cart page magento 2


Magento2 weird checkout page issue on click of Proceed to Checkout buttonHow do you add a custom block in checkout/cart page in magento2?Proceed to checkout button missing from cart PagePlace order button in Magento 2 checkoutProceed to checkout redirects to empty cart pageMagento 1.9.3.4 “Proceed To Checkout” button disappears after disabling Onepage CheckoutMagento 2 checkout cart shipping method name i just want to do some changesApply discount Block moving issue in magento2 cart pageMagento 2 : How to update 'Update cart' Button`s Template?How to override the checkout_cart_configure.xml template file into custom module






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















In my custom module I have to check some conditions and have to disable "Proceed to Checkout" button from the Cart page.



I know it's coming from



magentovendormagentomodule-checkoutviewfrontendtemplatesonepagelink.phtml


I can override this but I have to also override block for this. Is there any other way to achieve this?










share|improve this question
















bumped to the homepage by Community 4 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.















  • What exactly do you want to achieve here?

    – Anshu Mishra
    Aug 22 '18 at 10:39

















1















In my custom module I have to check some conditions and have to disable "Proceed to Checkout" button from the Cart page.



I know it's coming from



magentovendormagentomodule-checkoutviewfrontendtemplatesonepagelink.phtml


I can override this but I have to also override block for this. Is there any other way to achieve this?










share|improve this question
















bumped to the homepage by Community 4 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.















  • What exactly do you want to achieve here?

    – Anshu Mishra
    Aug 22 '18 at 10:39













1












1








1








In my custom module I have to check some conditions and have to disable "Proceed to Checkout" button from the Cart page.



I know it's coming from



magentovendormagentomodule-checkoutviewfrontendtemplatesonepagelink.phtml


I can override this but I have to also override block for this. Is there any other way to achieve this?










share|improve this question
















In my custom module I have to check some conditions and have to disable "Proceed to Checkout" button from the Cart page.



I know it's coming from



magentovendormagentomodule-checkoutviewfrontendtemplatesonepagelink.phtml


I can override this but I have to also override block for this. Is there any other way to achieve this?







checkout cart shopping-cart magento-2.2.5






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Aug 22 '18 at 10:13







Magecode

















asked Aug 22 '18 at 9:57









MagecodeMagecode

576421




576421





bumped to the homepage by Community 4 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







bumped to the homepage by Community 4 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.














  • What exactly do you want to achieve here?

    – Anshu Mishra
    Aug 22 '18 at 10:39

















  • What exactly do you want to achieve here?

    – Anshu Mishra
    Aug 22 '18 at 10:39
















What exactly do you want to achieve here?

– Anshu Mishra
Aug 22 '18 at 10:39





What exactly do you want to achieve here?

– Anshu Mishra
Aug 22 '18 at 10:39










3 Answers
3






active

oldest

votes


















0














In your custom module or if you have a design template create view -> frontend -> templates -> onepage -> link.phtml and inside just put:



<?php

?>
<?php if ($block->isPossibleOnepageCheckout()):?>

<?php endif?>


This should just not create the button.






share|improve this answer






























    0














    Override the helper function canOnepageCheckout. To achieve this you need to override the following class




    MagentoCheckoutHelperData




    Create your own module and add the following code to your 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">
    <preference for="MagentoCheckoutHelperData" type="VendorModuleHelperData" />
    </config>


    And update your logic to the below function:



    public function canOnepageCheckout()

    return (bool)$this->scopeConfig->getValue('checkout/options/onepage_checkout_enabled', MagentoStoreModelScopeInterface::SCOPE_STORE);






    share|improve this answer






























      0














      You can try following code, here I have rewritten the template file in my custom module.
      app/code/Anshu/Custom/registration.php



      <?php
      MagentoFrameworkComponentComponentRegistrar::register(
      MagentoFrameworkComponentComponentRegistrar::MODULE,
      'Anshu_Custom',
      __DIR__
      );


      app/code/Anshu/Custom/etc/module.xml



      <?xml version="1.0"?>
      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
      <module name="Anshu_Custom" setup_version="1.0.0">
      <sequence>
      <module name="Magento_Checkout" />
      </sequence>
      </module>
      </config>


      app/code/Anshu/Custom/view/frontend/layout/checkout_cart_index.xml



      <?xml version="1.0" encoding="UTF-8"?>
      <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
      <body>
      <referenceContainer name="content">
      <referenceBlock name="checkout.cart.methods.onepage.bottom" template="Anshu_Custom::onepage/link.phtml" />
      </referenceContainer>
      </body>
      </page>


      app/code/Anshu/Custom/view/frontend/templates/onepage/link.phtml



      <?php
      // @codingStandardsIgnoreFile
      ?>
      <?php if ($block->isPossibleOnepageCheckout()):?>
      <button type="button"
      data-role="proceed-to-checkout"
      title="<?= /* @escapeNotVerified */ __('Proceed to Checkout') ?>"
      data-mage-init='"Magento_Checkout/js/proceed-to-checkout":"checkoutUrl":"<?= /* @escapeNotVerified */ $block->getCheckoutUrl() ?>"'
      class="action primary checkout<?= ($block->isDisabled()) ? ' disabled' : '' ?>"
      <?php if ($block->isDisabled()):?>disabled="disabled"<?php endif; ?>>
      <span><?= /* @escapeNotVerified */ __('Proceed to Checkout') ?></span>
      </button>
      <?php endif?>


      I have just copied the code from original core link.phtml file, you can modify it according to your requirement.






      share|improve this answer























      • I am doing exact same thing that you mentioned above, added a code in custom block to check customer group data and disable button based on that check. In my case it disabled the button for all the customers including Guest. I tried cacheable=false in layout xml and it didn't fix it either. What kind of caching issue is it since the button is disabled even after bin/magento cache:flush?

        – cnu
        Apr 4 at 17:02












      • @cnu The code is just for over ridding the template file, you need to apply the condition according to your requirement.

        – Anshu Mishra
        Apr 4 at 17:08











      • Right, I have the condition and it's working but the button disappears even when data is not there for the condition, so trying to understand if it's a caching or some other problem.

        – cnu
        Apr 4 at 18:17











      • @cnu Doesn't seems to be cache issue, I am assuming it will be a condition issue. Kindly check your condition.

        – Anshu Mishra
        Apr 5 at 4:50











      • found the issue. It was a typo in one of the variable names in custom Block, hence the button was missing for every customer.

        – cnu
        Apr 5 at 14:19











      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "479"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f239192%2fdisable-proceed-to-checkout-button-on-cart-page-magento-2%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      In your custom module or if you have a design template create view -> frontend -> templates -> onepage -> link.phtml and inside just put:



      <?php

      ?>
      <?php if ($block->isPossibleOnepageCheckout()):?>

      <?php endif?>


      This should just not create the button.






      share|improve this answer



























        0














        In your custom module or if you have a design template create view -> frontend -> templates -> onepage -> link.phtml and inside just put:



        <?php

        ?>
        <?php if ($block->isPossibleOnepageCheckout()):?>

        <?php endif?>


        This should just not create the button.






        share|improve this answer

























          0












          0








          0







          In your custom module or if you have a design template create view -> frontend -> templates -> onepage -> link.phtml and inside just put:



          <?php

          ?>
          <?php if ($block->isPossibleOnepageCheckout()):?>

          <?php endif?>


          This should just not create the button.






          share|improve this answer













          In your custom module or if you have a design template create view -> frontend -> templates -> onepage -> link.phtml and inside just put:



          <?php

          ?>
          <?php if ($block->isPossibleOnepageCheckout()):?>

          <?php endif?>


          This should just not create the button.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Aug 22 '18 at 10:05









          RaülRaül

          556118




          556118























              0














              Override the helper function canOnepageCheckout. To achieve this you need to override the following class




              MagentoCheckoutHelperData




              Create your own module and add the following code to your 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">
              <preference for="MagentoCheckoutHelperData" type="VendorModuleHelperData" />
              </config>


              And update your logic to the below function:



              public function canOnepageCheckout()

              return (bool)$this->scopeConfig->getValue('checkout/options/onepage_checkout_enabled', MagentoStoreModelScopeInterface::SCOPE_STORE);






              share|improve this answer



























                0














                Override the helper function canOnepageCheckout. To achieve this you need to override the following class




                MagentoCheckoutHelperData




                Create your own module and add the following code to your 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">
                <preference for="MagentoCheckoutHelperData" type="VendorModuleHelperData" />
                </config>


                And update your logic to the below function:



                public function canOnepageCheckout()

                return (bool)$this->scopeConfig->getValue('checkout/options/onepage_checkout_enabled', MagentoStoreModelScopeInterface::SCOPE_STORE);






                share|improve this answer

























                  0












                  0








                  0







                  Override the helper function canOnepageCheckout. To achieve this you need to override the following class




                  MagentoCheckoutHelperData




                  Create your own module and add the following code to your 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">
                  <preference for="MagentoCheckoutHelperData" type="VendorModuleHelperData" />
                  </config>


                  And update your logic to the below function:



                  public function canOnepageCheckout()

                  return (bool)$this->scopeConfig->getValue('checkout/options/onepage_checkout_enabled', MagentoStoreModelScopeInterface::SCOPE_STORE);






                  share|improve this answer













                  Override the helper function canOnepageCheckout. To achieve this you need to override the following class




                  MagentoCheckoutHelperData




                  Create your own module and add the following code to your 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">
                  <preference for="MagentoCheckoutHelperData" type="VendorModuleHelperData" />
                  </config>


                  And update your logic to the below function:



                  public function canOnepageCheckout()

                  return (bool)$this->scopeConfig->getValue('checkout/options/onepage_checkout_enabled', MagentoStoreModelScopeInterface::SCOPE_STORE);







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Aug 22 '18 at 10:36









                  Sukumar GoraiSukumar Gorai

                  7,0353729




                  7,0353729





















                      0














                      You can try following code, here I have rewritten the template file in my custom module.
                      app/code/Anshu/Custom/registration.php



                      <?php
                      MagentoFrameworkComponentComponentRegistrar::register(
                      MagentoFrameworkComponentComponentRegistrar::MODULE,
                      'Anshu_Custom',
                      __DIR__
                      );


                      app/code/Anshu/Custom/etc/module.xml



                      <?xml version="1.0"?>
                      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
                      <module name="Anshu_Custom" setup_version="1.0.0">
                      <sequence>
                      <module name="Magento_Checkout" />
                      </sequence>
                      </module>
                      </config>


                      app/code/Anshu/Custom/view/frontend/layout/checkout_cart_index.xml



                      <?xml version="1.0" encoding="UTF-8"?>
                      <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
                      <body>
                      <referenceContainer name="content">
                      <referenceBlock name="checkout.cart.methods.onepage.bottom" template="Anshu_Custom::onepage/link.phtml" />
                      </referenceContainer>
                      </body>
                      </page>


                      app/code/Anshu/Custom/view/frontend/templates/onepage/link.phtml



                      <?php
                      // @codingStandardsIgnoreFile
                      ?>
                      <?php if ($block->isPossibleOnepageCheckout()):?>
                      <button type="button"
                      data-role="proceed-to-checkout"
                      title="<?= /* @escapeNotVerified */ __('Proceed to Checkout') ?>"
                      data-mage-init='"Magento_Checkout/js/proceed-to-checkout":"checkoutUrl":"<?= /* @escapeNotVerified */ $block->getCheckoutUrl() ?>"'
                      class="action primary checkout<?= ($block->isDisabled()) ? ' disabled' : '' ?>"
                      <?php if ($block->isDisabled()):?>disabled="disabled"<?php endif; ?>>
                      <span><?= /* @escapeNotVerified */ __('Proceed to Checkout') ?></span>
                      </button>
                      <?php endif?>


                      I have just copied the code from original core link.phtml file, you can modify it according to your requirement.






                      share|improve this answer























                      • I am doing exact same thing that you mentioned above, added a code in custom block to check customer group data and disable button based on that check. In my case it disabled the button for all the customers including Guest. I tried cacheable=false in layout xml and it didn't fix it either. What kind of caching issue is it since the button is disabled even after bin/magento cache:flush?

                        – cnu
                        Apr 4 at 17:02












                      • @cnu The code is just for over ridding the template file, you need to apply the condition according to your requirement.

                        – Anshu Mishra
                        Apr 4 at 17:08











                      • Right, I have the condition and it's working but the button disappears even when data is not there for the condition, so trying to understand if it's a caching or some other problem.

                        – cnu
                        Apr 4 at 18:17











                      • @cnu Doesn't seems to be cache issue, I am assuming it will be a condition issue. Kindly check your condition.

                        – Anshu Mishra
                        Apr 5 at 4:50











                      • found the issue. It was a typo in one of the variable names in custom Block, hence the button was missing for every customer.

                        – cnu
                        Apr 5 at 14:19















                      0














                      You can try following code, here I have rewritten the template file in my custom module.
                      app/code/Anshu/Custom/registration.php



                      <?php
                      MagentoFrameworkComponentComponentRegistrar::register(
                      MagentoFrameworkComponentComponentRegistrar::MODULE,
                      'Anshu_Custom',
                      __DIR__
                      );


                      app/code/Anshu/Custom/etc/module.xml



                      <?xml version="1.0"?>
                      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
                      <module name="Anshu_Custom" setup_version="1.0.0">
                      <sequence>
                      <module name="Magento_Checkout" />
                      </sequence>
                      </module>
                      </config>


                      app/code/Anshu/Custom/view/frontend/layout/checkout_cart_index.xml



                      <?xml version="1.0" encoding="UTF-8"?>
                      <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
                      <body>
                      <referenceContainer name="content">
                      <referenceBlock name="checkout.cart.methods.onepage.bottom" template="Anshu_Custom::onepage/link.phtml" />
                      </referenceContainer>
                      </body>
                      </page>


                      app/code/Anshu/Custom/view/frontend/templates/onepage/link.phtml



                      <?php
                      // @codingStandardsIgnoreFile
                      ?>
                      <?php if ($block->isPossibleOnepageCheckout()):?>
                      <button type="button"
                      data-role="proceed-to-checkout"
                      title="<?= /* @escapeNotVerified */ __('Proceed to Checkout') ?>"
                      data-mage-init='"Magento_Checkout/js/proceed-to-checkout":"checkoutUrl":"<?= /* @escapeNotVerified */ $block->getCheckoutUrl() ?>"'
                      class="action primary checkout<?= ($block->isDisabled()) ? ' disabled' : '' ?>"
                      <?php if ($block->isDisabled()):?>disabled="disabled"<?php endif; ?>>
                      <span><?= /* @escapeNotVerified */ __('Proceed to Checkout') ?></span>
                      </button>
                      <?php endif?>


                      I have just copied the code from original core link.phtml file, you can modify it according to your requirement.






                      share|improve this answer























                      • I am doing exact same thing that you mentioned above, added a code in custom block to check customer group data and disable button based on that check. In my case it disabled the button for all the customers including Guest. I tried cacheable=false in layout xml and it didn't fix it either. What kind of caching issue is it since the button is disabled even after bin/magento cache:flush?

                        – cnu
                        Apr 4 at 17:02












                      • @cnu The code is just for over ridding the template file, you need to apply the condition according to your requirement.

                        – Anshu Mishra
                        Apr 4 at 17:08











                      • Right, I have the condition and it's working but the button disappears even when data is not there for the condition, so trying to understand if it's a caching or some other problem.

                        – cnu
                        Apr 4 at 18:17











                      • @cnu Doesn't seems to be cache issue, I am assuming it will be a condition issue. Kindly check your condition.

                        – Anshu Mishra
                        Apr 5 at 4:50











                      • found the issue. It was a typo in one of the variable names in custom Block, hence the button was missing for every customer.

                        – cnu
                        Apr 5 at 14:19













                      0












                      0








                      0







                      You can try following code, here I have rewritten the template file in my custom module.
                      app/code/Anshu/Custom/registration.php



                      <?php
                      MagentoFrameworkComponentComponentRegistrar::register(
                      MagentoFrameworkComponentComponentRegistrar::MODULE,
                      'Anshu_Custom',
                      __DIR__
                      );


                      app/code/Anshu/Custom/etc/module.xml



                      <?xml version="1.0"?>
                      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
                      <module name="Anshu_Custom" setup_version="1.0.0">
                      <sequence>
                      <module name="Magento_Checkout" />
                      </sequence>
                      </module>
                      </config>


                      app/code/Anshu/Custom/view/frontend/layout/checkout_cart_index.xml



                      <?xml version="1.0" encoding="UTF-8"?>
                      <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
                      <body>
                      <referenceContainer name="content">
                      <referenceBlock name="checkout.cart.methods.onepage.bottom" template="Anshu_Custom::onepage/link.phtml" />
                      </referenceContainer>
                      </body>
                      </page>


                      app/code/Anshu/Custom/view/frontend/templates/onepage/link.phtml



                      <?php
                      // @codingStandardsIgnoreFile
                      ?>
                      <?php if ($block->isPossibleOnepageCheckout()):?>
                      <button type="button"
                      data-role="proceed-to-checkout"
                      title="<?= /* @escapeNotVerified */ __('Proceed to Checkout') ?>"
                      data-mage-init='"Magento_Checkout/js/proceed-to-checkout":"checkoutUrl":"<?= /* @escapeNotVerified */ $block->getCheckoutUrl() ?>"'
                      class="action primary checkout<?= ($block->isDisabled()) ? ' disabled' : '' ?>"
                      <?php if ($block->isDisabled()):?>disabled="disabled"<?php endif; ?>>
                      <span><?= /* @escapeNotVerified */ __('Proceed to Checkout') ?></span>
                      </button>
                      <?php endif?>


                      I have just copied the code from original core link.phtml file, you can modify it according to your requirement.






                      share|improve this answer













                      You can try following code, here I have rewritten the template file in my custom module.
                      app/code/Anshu/Custom/registration.php



                      <?php
                      MagentoFrameworkComponentComponentRegistrar::register(
                      MagentoFrameworkComponentComponentRegistrar::MODULE,
                      'Anshu_Custom',
                      __DIR__
                      );


                      app/code/Anshu/Custom/etc/module.xml



                      <?xml version="1.0"?>
                      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
                      <module name="Anshu_Custom" setup_version="1.0.0">
                      <sequence>
                      <module name="Magento_Checkout" />
                      </sequence>
                      </module>
                      </config>


                      app/code/Anshu/Custom/view/frontend/layout/checkout_cart_index.xml



                      <?xml version="1.0" encoding="UTF-8"?>
                      <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
                      <body>
                      <referenceContainer name="content">
                      <referenceBlock name="checkout.cart.methods.onepage.bottom" template="Anshu_Custom::onepage/link.phtml" />
                      </referenceContainer>
                      </body>
                      </page>


                      app/code/Anshu/Custom/view/frontend/templates/onepage/link.phtml



                      <?php
                      // @codingStandardsIgnoreFile
                      ?>
                      <?php if ($block->isPossibleOnepageCheckout()):?>
                      <button type="button"
                      data-role="proceed-to-checkout"
                      title="<?= /* @escapeNotVerified */ __('Proceed to Checkout') ?>"
                      data-mage-init='"Magento_Checkout/js/proceed-to-checkout":"checkoutUrl":"<?= /* @escapeNotVerified */ $block->getCheckoutUrl() ?>"'
                      class="action primary checkout<?= ($block->isDisabled()) ? ' disabled' : '' ?>"
                      <?php if ($block->isDisabled()):?>disabled="disabled"<?php endif; ?>>
                      <span><?= /* @escapeNotVerified */ __('Proceed to Checkout') ?></span>
                      </button>
                      <?php endif?>


                      I have just copied the code from original core link.phtml file, you can modify it according to your requirement.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Aug 22 '18 at 10:38









                      Anshu MishraAnshu Mishra

                      5,70652763




                      5,70652763












                      • I am doing exact same thing that you mentioned above, added a code in custom block to check customer group data and disable button based on that check. In my case it disabled the button for all the customers including Guest. I tried cacheable=false in layout xml and it didn't fix it either. What kind of caching issue is it since the button is disabled even after bin/magento cache:flush?

                        – cnu
                        Apr 4 at 17:02












                      • @cnu The code is just for over ridding the template file, you need to apply the condition according to your requirement.

                        – Anshu Mishra
                        Apr 4 at 17:08











                      • Right, I have the condition and it's working but the button disappears even when data is not there for the condition, so trying to understand if it's a caching or some other problem.

                        – cnu
                        Apr 4 at 18:17











                      • @cnu Doesn't seems to be cache issue, I am assuming it will be a condition issue. Kindly check your condition.

                        – Anshu Mishra
                        Apr 5 at 4:50











                      • found the issue. It was a typo in one of the variable names in custom Block, hence the button was missing for every customer.

                        – cnu
                        Apr 5 at 14:19

















                      • I am doing exact same thing that you mentioned above, added a code in custom block to check customer group data and disable button based on that check. In my case it disabled the button for all the customers including Guest. I tried cacheable=false in layout xml and it didn't fix it either. What kind of caching issue is it since the button is disabled even after bin/magento cache:flush?

                        – cnu
                        Apr 4 at 17:02












                      • @cnu The code is just for over ridding the template file, you need to apply the condition according to your requirement.

                        – Anshu Mishra
                        Apr 4 at 17:08











                      • Right, I have the condition and it's working but the button disappears even when data is not there for the condition, so trying to understand if it's a caching or some other problem.

                        – cnu
                        Apr 4 at 18:17











                      • @cnu Doesn't seems to be cache issue, I am assuming it will be a condition issue. Kindly check your condition.

                        – Anshu Mishra
                        Apr 5 at 4:50











                      • found the issue. It was a typo in one of the variable names in custom Block, hence the button was missing for every customer.

                        – cnu
                        Apr 5 at 14:19
















                      I am doing exact same thing that you mentioned above, added a code in custom block to check customer group data and disable button based on that check. In my case it disabled the button for all the customers including Guest. I tried cacheable=false in layout xml and it didn't fix it either. What kind of caching issue is it since the button is disabled even after bin/magento cache:flush?

                      – cnu
                      Apr 4 at 17:02






                      I am doing exact same thing that you mentioned above, added a code in custom block to check customer group data and disable button based on that check. In my case it disabled the button for all the customers including Guest. I tried cacheable=false in layout xml and it didn't fix it either. What kind of caching issue is it since the button is disabled even after bin/magento cache:flush?

                      – cnu
                      Apr 4 at 17:02














                      @cnu The code is just for over ridding the template file, you need to apply the condition according to your requirement.

                      – Anshu Mishra
                      Apr 4 at 17:08





                      @cnu The code is just for over ridding the template file, you need to apply the condition according to your requirement.

                      – Anshu Mishra
                      Apr 4 at 17:08













                      Right, I have the condition and it's working but the button disappears even when data is not there for the condition, so trying to understand if it's a caching or some other problem.

                      – cnu
                      Apr 4 at 18:17





                      Right, I have the condition and it's working but the button disappears even when data is not there for the condition, so trying to understand if it's a caching or some other problem.

                      – cnu
                      Apr 4 at 18:17













                      @cnu Doesn't seems to be cache issue, I am assuming it will be a condition issue. Kindly check your condition.

                      – Anshu Mishra
                      Apr 5 at 4:50





                      @cnu Doesn't seems to be cache issue, I am assuming it will be a condition issue. Kindly check your condition.

                      – Anshu Mishra
                      Apr 5 at 4:50













                      found the issue. It was a typo in one of the variable names in custom Block, hence the button was missing for every customer.

                      – cnu
                      Apr 5 at 14:19





                      found the issue. It was a typo in one of the variable names in custom Block, hence the button was missing for every customer.

                      – cnu
                      Apr 5 at 14:19

















                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Magento Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f239192%2fdisable-proceed-to-checkout-button-on-cart-page-magento-2%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

                      Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

                      How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2