Remove Add To Cart Button in product List page magento2 without using template file Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Remove add to cart button for some productsModify Product Listing 'Add to Cart' buttonMeesed up “Add to cart” button in product pages“ADD TO CART” button not working in product view pageRedirect “Add to Cart” from Category page to CMS pageExtra Add to Cart Button for simple ProductChange add to cart template on product viewMagento 1.9 multiple add to cart buttonWhy my “Add to cart” button is not working in product page?Change text and Relink the “Add To Cart” button in the product list page (list.phtml)Additional Add to Cart ButtonButton add to cart stays on adding… after i setParam('product', false)

3 doors, three guards, one stone

In predicate logic, does existential quantification (∃) include universal quantification (∀), i.e. can 'some' imply 'all'?

How to bypass password on Windows XP account?

How can I make names more distinctive without making them longer?

How to run gsettings for another user Ubuntu 18.04.2 LTS

What does this icon in iOS Stardew Valley mean?

Why was the term "discrete" used in discrete logarithm?

What is a non-alternating simple group with big order, but relatively few conjugacy classes?

Apollo command module space walk?

How to find out what spells would be useless to a blind NPC spellcaster?

Why are there no cargo aircraft with "flying wing" design?

Should I discuss the type of campaign with my players?

Generate an RGB colour grid

Using et al. for a last / senior author rather than for a first author

Why do people hide their license plates in the EU?

Why is my conclusion inconsistent with the van't Hoff equation?

Should I use a zero-interest credit card for a large one-time purchase?

How to align text above triangle figure

What would be the ideal power source for a cybernetic eye?

Check which numbers satisfy the condition [A*B*C = A! + B! + C!]

Why are Kinder Surprise Eggs illegal in the USA?

prime numbers and expressing non-prime numbers

Why do we bend a book to keep it straight?

Output the ŋarâþ crîþ alphabet song without using (m)any letters



Remove Add To Cart Button in product List page magento2 without using template file



Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?Remove add to cart button for some productsModify Product Listing 'Add to Cart' buttonMeesed up “Add to cart” button in product pages“ADD TO CART” button not working in product view pageRedirect “Add to Cart” from Category page to CMS pageExtra Add to Cart Button for simple ProductChange add to cart template on product viewMagento 1.9 multiple add to cart buttonWhy my “Add to cart” button is not working in product page?Change text and Relink the “Add To Cart” button in the product list page (list.phtml)Additional Add to Cart ButtonButton add to cart stays on adding… after i setParam('product', false)



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








1















I want to remove Add To Cart button at category page. but I don't want to use template file. I did it for product view page using event.



 $layout = $observer->getEvent()->getLayout();
$layout->getUpdate()->addUpdate('<referenceBlock name="product.info.addtocart.additional" remove="true"/>');
$layout->getUpdate()->load();
$layout->generateXml();


its working fine; But how can i remove button from category page?



Thanks.










share|improve this question




























    1















    I want to remove Add To Cart button at category page. but I don't want to use template file. I did it for product view page using event.



     $layout = $observer->getEvent()->getLayout();
    $layout->getUpdate()->addUpdate('<referenceBlock name="product.info.addtocart.additional" remove="true"/>');
    $layout->getUpdate()->load();
    $layout->generateXml();


    its working fine; But how can i remove button from category page?



    Thanks.










    share|improve this question
























      1












      1








      1


      1






      I want to remove Add To Cart button at category page. but I don't want to use template file. I did it for product view page using event.



       $layout = $observer->getEvent()->getLayout();
      $layout->getUpdate()->addUpdate('<referenceBlock name="product.info.addtocart.additional" remove="true"/>');
      $layout->getUpdate()->load();
      $layout->generateXml();


      its working fine; But how can i remove button from category page?



      Thanks.










      share|improve this question














      I want to remove Add To Cart button at category page. but I don't want to use template file. I did it for product view page using event.



       $layout = $observer->getEvent()->getLayout();
      $layout->getUpdate()->addUpdate('<referenceBlock name="product.info.addtocart.additional" remove="true"/>');
      $layout->getUpdate()->load();
      $layout->generateXml();


      its working fine; But how can i remove button from category page?



      Thanks.







      magento2 product-list addtocart list.phtml






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 20 '16 at 14:07









      MageDevMageDev

      4024926




      4024926




















          3 Answers
          3






          active

          oldest

          votes


















          0














          You can use core_layout_render_element Event from the MagentoFrameworkViewLayout::renderElement() method in order to add an Observer. In the observer you can you preg_replace or analogue to remove generated Add to Cart button.



          There is similar question and however event name is outdated: Modify Product Listing 'Add to Cart' button



          Hope it helps.






          share|improve this answer

























          • it's for magento 1 not magento2

            – siddhesh
            Jul 21 '17 at 14:30


















          0














          If we look at this module-catalogviewfrontendtemplatesproductlist.phtml around line 80 There is function $_product->isSaleable() which then again call to isSalable() function of MagentoCatalogModelProduct.



          There are two events in it catalog_product_is_salable_before and catalog_product_is_salable_after. Depending on your need you can modify it.



          I used catalog_product_is_salable_after event to hide Add to Cart button




          namespace NamespaceModuleObserverFrontend;

          use MagentoFrameworkEventObserver;
          use MagentoFrameworkEventObserverInterface;

          class classname implements ObserverInterface

          public $request;

          public function __construct(
          MagentoFrameworkAppRequestHttp $request
          )
          $this->request = $request;


          public function execute(Observer $observer)

          if ($this->request->getFullActionName() == 'catalog_category_view')


          $product = $observer->getEvent()->getProduct();
          $saleble = $observer->getEvent()->getSalable();

          if($product->getTypeId() == 'customProductType')

          $saleble->setIsSalable(false);
          $salable = $product->getStatus() == MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED;
          if ($salable && $product->hasData('is_salable'))
          $salable = $product->getData('is_salable');

          $product->setIsSaleable($salable);


          return $this;




          Though this will add In Stock or Out of Stock in place of Add to Cart.






          share|improve this answer

























          • but it also hides product options

            – siddhesh
            Jul 21 '17 at 14:28


















          -1














          You can achieve this by following CSS tricks.



          Add below CSS rules in skin/theme/child/css or skin/theme/default/css



          /*add to cart button*/
          .products-grid .button.btn-cart
          display : none ;






          share|improve this answer

























          • This is not suggested as it still renders in frontend and we can access it easily with browser tools. Css has to be used only for client end events such as show/hide etc. Never use to hide something which is restricted for users always.

            – Kalyan Chakravarthi V
            Feb 13 '18 at 2:07











          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%2f98188%2fremove-add-to-cart-button-in-product-list-page-magento2-without-using-template-f%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














          You can use core_layout_render_element Event from the MagentoFrameworkViewLayout::renderElement() method in order to add an Observer. In the observer you can you preg_replace or analogue to remove generated Add to Cart button.



          There is similar question and however event name is outdated: Modify Product Listing 'Add to Cart' button



          Hope it helps.






          share|improve this answer

























          • it's for magento 1 not magento2

            – siddhesh
            Jul 21 '17 at 14:30















          0














          You can use core_layout_render_element Event from the MagentoFrameworkViewLayout::renderElement() method in order to add an Observer. In the observer you can you preg_replace or analogue to remove generated Add to Cart button.



          There is similar question and however event name is outdated: Modify Product Listing 'Add to Cart' button



          Hope it helps.






          share|improve this answer

























          • it's for magento 1 not magento2

            – siddhesh
            Jul 21 '17 at 14:30













          0












          0








          0







          You can use core_layout_render_element Event from the MagentoFrameworkViewLayout::renderElement() method in order to add an Observer. In the observer you can you preg_replace or analogue to remove generated Add to Cart button.



          There is similar question and however event name is outdated: Modify Product Listing 'Add to Cart' button



          Hope it helps.






          share|improve this answer















          You can use core_layout_render_element Event from the MagentoFrameworkViewLayout::renderElement() method in order to add an Observer. In the observer you can you preg_replace or analogue to remove generated Add to Cart button.



          There is similar question and however event name is outdated: Modify Product Listing 'Add to Cart' button



          Hope it helps.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Apr 13 '17 at 12:55









          Community

          1




          1










          answered Jan 21 '16 at 1:17









          Max PronkoMax Pronko

          1,476817




          1,476817












          • it's for magento 1 not magento2

            – siddhesh
            Jul 21 '17 at 14:30

















          • it's for magento 1 not magento2

            – siddhesh
            Jul 21 '17 at 14:30
















          it's for magento 1 not magento2

          – siddhesh
          Jul 21 '17 at 14:30





          it's for magento 1 not magento2

          – siddhesh
          Jul 21 '17 at 14:30













          0














          If we look at this module-catalogviewfrontendtemplatesproductlist.phtml around line 80 There is function $_product->isSaleable() which then again call to isSalable() function of MagentoCatalogModelProduct.



          There are two events in it catalog_product_is_salable_before and catalog_product_is_salable_after. Depending on your need you can modify it.



          I used catalog_product_is_salable_after event to hide Add to Cart button




          namespace NamespaceModuleObserverFrontend;

          use MagentoFrameworkEventObserver;
          use MagentoFrameworkEventObserverInterface;

          class classname implements ObserverInterface

          public $request;

          public function __construct(
          MagentoFrameworkAppRequestHttp $request
          )
          $this->request = $request;


          public function execute(Observer $observer)

          if ($this->request->getFullActionName() == 'catalog_category_view')


          $product = $observer->getEvent()->getProduct();
          $saleble = $observer->getEvent()->getSalable();

          if($product->getTypeId() == 'customProductType')

          $saleble->setIsSalable(false);
          $salable = $product->getStatus() == MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED;
          if ($salable && $product->hasData('is_salable'))
          $salable = $product->getData('is_salable');

          $product->setIsSaleable($salable);


          return $this;




          Though this will add In Stock or Out of Stock in place of Add to Cart.






          share|improve this answer

























          • but it also hides product options

            – siddhesh
            Jul 21 '17 at 14:28















          0














          If we look at this module-catalogviewfrontendtemplatesproductlist.phtml around line 80 There is function $_product->isSaleable() which then again call to isSalable() function of MagentoCatalogModelProduct.



          There are two events in it catalog_product_is_salable_before and catalog_product_is_salable_after. Depending on your need you can modify it.



          I used catalog_product_is_salable_after event to hide Add to Cart button




          namespace NamespaceModuleObserverFrontend;

          use MagentoFrameworkEventObserver;
          use MagentoFrameworkEventObserverInterface;

          class classname implements ObserverInterface

          public $request;

          public function __construct(
          MagentoFrameworkAppRequestHttp $request
          )
          $this->request = $request;


          public function execute(Observer $observer)

          if ($this->request->getFullActionName() == 'catalog_category_view')


          $product = $observer->getEvent()->getProduct();
          $saleble = $observer->getEvent()->getSalable();

          if($product->getTypeId() == 'customProductType')

          $saleble->setIsSalable(false);
          $salable = $product->getStatus() == MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED;
          if ($salable && $product->hasData('is_salable'))
          $salable = $product->getData('is_salable');

          $product->setIsSaleable($salable);


          return $this;




          Though this will add In Stock or Out of Stock in place of Add to Cart.






          share|improve this answer

























          • but it also hides product options

            – siddhesh
            Jul 21 '17 at 14:28













          0












          0








          0







          If we look at this module-catalogviewfrontendtemplatesproductlist.phtml around line 80 There is function $_product->isSaleable() which then again call to isSalable() function of MagentoCatalogModelProduct.



          There are two events in it catalog_product_is_salable_before and catalog_product_is_salable_after. Depending on your need you can modify it.



          I used catalog_product_is_salable_after event to hide Add to Cart button




          namespace NamespaceModuleObserverFrontend;

          use MagentoFrameworkEventObserver;
          use MagentoFrameworkEventObserverInterface;

          class classname implements ObserverInterface

          public $request;

          public function __construct(
          MagentoFrameworkAppRequestHttp $request
          )
          $this->request = $request;


          public function execute(Observer $observer)

          if ($this->request->getFullActionName() == 'catalog_category_view')


          $product = $observer->getEvent()->getProduct();
          $saleble = $observer->getEvent()->getSalable();

          if($product->getTypeId() == 'customProductType')

          $saleble->setIsSalable(false);
          $salable = $product->getStatus() == MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED;
          if ($salable && $product->hasData('is_salable'))
          $salable = $product->getData('is_salable');

          $product->setIsSaleable($salable);


          return $this;




          Though this will add In Stock or Out of Stock in place of Add to Cart.






          share|improve this answer















          If we look at this module-catalogviewfrontendtemplatesproductlist.phtml around line 80 There is function $_product->isSaleable() which then again call to isSalable() function of MagentoCatalogModelProduct.



          There are two events in it catalog_product_is_salable_before and catalog_product_is_salable_after. Depending on your need you can modify it.



          I used catalog_product_is_salable_after event to hide Add to Cart button




          namespace NamespaceModuleObserverFrontend;

          use MagentoFrameworkEventObserver;
          use MagentoFrameworkEventObserverInterface;

          class classname implements ObserverInterface

          public $request;

          public function __construct(
          MagentoFrameworkAppRequestHttp $request
          )
          $this->request = $request;


          public function execute(Observer $observer)

          if ($this->request->getFullActionName() == 'catalog_category_view')


          $product = $observer->getEvent()->getProduct();
          $saleble = $observer->getEvent()->getSalable();

          if($product->getTypeId() == 'customProductType')

          $saleble->setIsSalable(false);
          $salable = $product->getStatus() == MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED;
          if ($salable && $product->hasData('is_salable'))
          $salable = $product->getData('is_salable');

          $product->setIsSaleable($salable);


          return $this;




          Though this will add In Stock or Out of Stock in place of Add to Cart.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Dec 16 '16 at 20:11

























          answered Dec 16 '16 at 19:31









          Amit SinghAmit Singh

          906930




          906930












          • but it also hides product options

            – siddhesh
            Jul 21 '17 at 14:28

















          • but it also hides product options

            – siddhesh
            Jul 21 '17 at 14:28
















          but it also hides product options

          – siddhesh
          Jul 21 '17 at 14:28





          but it also hides product options

          – siddhesh
          Jul 21 '17 at 14:28











          -1














          You can achieve this by following CSS tricks.



          Add below CSS rules in skin/theme/child/css or skin/theme/default/css



          /*add to cart button*/
          .products-grid .button.btn-cart
          display : none ;






          share|improve this answer

























          • This is not suggested as it still renders in frontend and we can access it easily with browser tools. Css has to be used only for client end events such as show/hide etc. Never use to hide something which is restricted for users always.

            – Kalyan Chakravarthi V
            Feb 13 '18 at 2:07















          -1














          You can achieve this by following CSS tricks.



          Add below CSS rules in skin/theme/child/css or skin/theme/default/css



          /*add to cart button*/
          .products-grid .button.btn-cart
          display : none ;






          share|improve this answer

























          • This is not suggested as it still renders in frontend and we can access it easily with browser tools. Css has to be used only for client end events such as show/hide etc. Never use to hide something which is restricted for users always.

            – Kalyan Chakravarthi V
            Feb 13 '18 at 2:07













          -1












          -1








          -1







          You can achieve this by following CSS tricks.



          Add below CSS rules in skin/theme/child/css or skin/theme/default/css



          /*add to cart button*/
          .products-grid .button.btn-cart
          display : none ;






          share|improve this answer















          You can achieve this by following CSS tricks.



          Add below CSS rules in skin/theme/child/css or skin/theme/default/css



          /*add to cart button*/
          .products-grid .button.btn-cart
          display : none ;







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 1 '16 at 12:38









          Rajeev K Tomy

          14.6k54589




          14.6k54589










          answered Nov 1 '16 at 11:56









          Jacob MorganJacob Morgan

          215




          215












          • This is not suggested as it still renders in frontend and we can access it easily with browser tools. Css has to be used only for client end events such as show/hide etc. Never use to hide something which is restricted for users always.

            – Kalyan Chakravarthi V
            Feb 13 '18 at 2:07

















          • This is not suggested as it still renders in frontend and we can access it easily with browser tools. Css has to be used only for client end events such as show/hide etc. Never use to hide something which is restricted for users always.

            – Kalyan Chakravarthi V
            Feb 13 '18 at 2:07
















          This is not suggested as it still renders in frontend and we can access it easily with browser tools. Css has to be used only for client end events such as show/hide etc. Never use to hide something which is restricted for users always.

          – Kalyan Chakravarthi V
          Feb 13 '18 at 2:07





          This is not suggested as it still renders in frontend and we can access it easily with browser tools. Css has to be used only for client end events such as show/hide etc. Never use to hide something which is restricted for users always.

          – Kalyan Chakravarthi V
          Feb 13 '18 at 2:07

















          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%2f98188%2fremove-add-to-cart-button-in-product-list-page-magento2-without-using-template-f%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

          Sum ergo cogito? 1 nng

          419 nièngy_Soadمي 19bal1.5o_g

          Queiggey Chernihivv 9NnOo i Zw X QqKk LpB