Disable “Proceed to Checkout” button on cart page magento 2Magento2 weird checkout page issue on click of...

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

Pre-plastic human skin alternative

What does the integral of a function times a function of a random variable represent, conceptually?

What does ゆーか mean?

How did Captain America manage to do this?

Could the terminal length of components like resistors be reduced?

Apply MapThread to all but one variable

How to stop co-workers from teasing me because I know Russian?

What makes accurate emulation of old systems a difficult task?

Why must Chinese maps be obfuscated?

Is there really no use for MD5 anymore?

What is the philosophical significance of speech acts/implicature?

Do I have an "anti-research" personality?

How would 10 generations of living underground change the human body?

How to display Aura JS Errors Lightning Out

Multiple options vs single option UI

Function pointer with named arguments?

Minor Revision with suggestion of an alternative proof by reviewer

How to denote matrix elements succinctly?

Is Diceware more secure than a long passphrase?

How to not starve gigantic beasts

Is there any official lore on the Far Realm?

Re-entry to Germany after vacation using blue card

Can SQL Server create collisions in system generated constraint names?



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 14 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 14 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 14 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 14 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

                      “%fieldName is a required field.”, in Magento2 REST API Call for GET Method Type The Next...

                      How to change City field to a dropdown in Checkout step Magento 2Magento 2 : How to change UI field(s)...

                      夢乃愛華...