Allow only one qty of item into cart in Magento 2Set Custom Price to Quote item magento2 from controllerHow...

What wound would be of little consequence to a biped but terrible for a quadruped?

Doesn't allowing a user mode program to access kernel space memory and execute the IN and OUT instructions defeat the purpose of having CPU modes?

Grey hair or white hair

Did Carol Danvers really receive a Kree blood tranfusion?

Distinction between apt-cache and dpkg -l

In the late 1940’s to early 1950’s what technology was available that could melt a LOT of ice?

Bash script should only kill those instances of another script's that it has launched

Should I take out a loan for a friend to invest on my behalf?

Meaning of ちはース as an exclamation

PTIJ: wiping amalek’s memory?

Does "Until when" sound natural for native speakers?

They call me Inspector Morse

Does a warlock using the Darkness/Devil's Sight combo still have advantage on ranged attacks against a target outside the Darkness?

Accountant/ lawyer will not return my call

When a wind turbine does not produce enough electricity how does the power company compensate for the loss?

What problems would a superhuman have whose skin is constantly hot?

How strictly should I take "Candidates must be local"?

Reverse string, can I make it faster?

Is it "Vierergruppe" or "Viergruppe", or is there a distinction?

What Happens when Passenger Refuses to Fly Boeing 737 Max?

Is "history" a male-biased word ("his+story")?

Why does Captain Marvel assume the people on this planet know this?

Why the color red for the Republican Party

Hotkey (or other quick way) to insert a keyframe for only one component of a vector-valued property?



Allow only one qty of item into cart in Magento 2


Set Custom Price to Quote item magento2 from controllerHow to call a model method from controller in Magento2I created a custom module ,but getting error, not able to figure out what the error is about. How to get out of this error?Magento 2.1: Invoke urlBuilder->getUrl() in a controller in a custom moduleSet custom price of product when adding to cart code not workingError calling model from controller in magento 2Custom controller: Argument 1 must be instance of Context, instead Objectmanager is givenMagento 2: Add a product to the cart programmaticallyMagento 2 Create dynamic array From different Model Collection to use in multi select in gridAdd configure product in Cart using Magento 2 API facing an issueMagento 2.3 Can't view module's front end page output?













1















I have created a custom controller in my module and calling via ajax to add the item to cart.



Below is my controller code.



<?php 

namespace {Vendor}{Module}ControllerProduct;
class AddProduct extends MagentoFrameworkAppActionAction
{
protected $formKey;
protected $cart;
protected $product;
protected $checkoutSession;
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoFrameworkDataFormFormKey $formKey,
MagentoCheckoutModelCart $cart,
MagentoCatalogModelProductFactory $product,
MagentoCheckoutModelSession $checkoutSession,
array $data = []) {
$this->formKey = $formKey;
$this->cart = $cart;
$this->product = $product;
$this->checkoutSession = $checkoutSession;
parent::__construct($context);
}
public function execute()
{
$productId = 1;
$customPrice = 150;
$params = array(
'form_key' => $this->formKey->getFormKey(),
'product_id' => $productId, //product Id
'qty' => 1 //quantity of product
);
$_product = $this->product->create()->load($productId);
$this->cart->addProduct($_product, $params);

$productItem = $this->getProductQuote($_product);
$productItem->setCustomPrice($customPrice);
$productItem->setOriginalCustomPrice($customPrice);
//Enable super mode on the product.
$productItem->getProduct()->setIsSuperMode(true);
$this->cart->save();
echo "success";
}


public function getProductQuote($product)
{
$quote = $this->checkoutSession->getQuote();
$cartItems = $quote->getItemByProduct($product);
return $cartItems;
}
}


The above code adds the product of qty 1 to the cart with a custom price whenever it is called.



I want to add only 1 qty of product to the cart. suppose if its called two or three times, only one qty should be present in cart. Need to remove previously added qty from the cart.



Is something can be done programmatically? There is a product setting in backend "Maximum qty allowed in cart", we can set this value but I am looking for the code how it can be done programmatically.



Can anyone look into it and help me, please. Thanks










share|improve this question





























    1















    I have created a custom controller in my module and calling via ajax to add the item to cart.



    Below is my controller code.



    <?php 

    namespace {Vendor}{Module}ControllerProduct;
    class AddProduct extends MagentoFrameworkAppActionAction
    {
    protected $formKey;
    protected $cart;
    protected $product;
    protected $checkoutSession;
    public function __construct(
    MagentoFrameworkAppActionContext $context,
    MagentoFrameworkDataFormFormKey $formKey,
    MagentoCheckoutModelCart $cart,
    MagentoCatalogModelProductFactory $product,
    MagentoCheckoutModelSession $checkoutSession,
    array $data = []) {
    $this->formKey = $formKey;
    $this->cart = $cart;
    $this->product = $product;
    $this->checkoutSession = $checkoutSession;
    parent::__construct($context);
    }
    public function execute()
    {
    $productId = 1;
    $customPrice = 150;
    $params = array(
    'form_key' => $this->formKey->getFormKey(),
    'product_id' => $productId, //product Id
    'qty' => 1 //quantity of product
    );
    $_product = $this->product->create()->load($productId);
    $this->cart->addProduct($_product, $params);

    $productItem = $this->getProductQuote($_product);
    $productItem->setCustomPrice($customPrice);
    $productItem->setOriginalCustomPrice($customPrice);
    //Enable super mode on the product.
    $productItem->getProduct()->setIsSuperMode(true);
    $this->cart->save();
    echo "success";
    }


    public function getProductQuote($product)
    {
    $quote = $this->checkoutSession->getQuote();
    $cartItems = $quote->getItemByProduct($product);
    return $cartItems;
    }
    }


    The above code adds the product of qty 1 to the cart with a custom price whenever it is called.



    I want to add only 1 qty of product to the cart. suppose if its called two or three times, only one qty should be present in cart. Need to remove previously added qty from the cart.



    Is something can be done programmatically? There is a product setting in backend "Maximum qty allowed in cart", we can set this value but I am looking for the code how it can be done programmatically.



    Can anyone look into it and help me, please. Thanks










    share|improve this question



























      1












      1








      1








      I have created a custom controller in my module and calling via ajax to add the item to cart.



      Below is my controller code.



      <?php 

      namespace {Vendor}{Module}ControllerProduct;
      class AddProduct extends MagentoFrameworkAppActionAction
      {
      protected $formKey;
      protected $cart;
      protected $product;
      protected $checkoutSession;
      public function __construct(
      MagentoFrameworkAppActionContext $context,
      MagentoFrameworkDataFormFormKey $formKey,
      MagentoCheckoutModelCart $cart,
      MagentoCatalogModelProductFactory $product,
      MagentoCheckoutModelSession $checkoutSession,
      array $data = []) {
      $this->formKey = $formKey;
      $this->cart = $cart;
      $this->product = $product;
      $this->checkoutSession = $checkoutSession;
      parent::__construct($context);
      }
      public function execute()
      {
      $productId = 1;
      $customPrice = 150;
      $params = array(
      'form_key' => $this->formKey->getFormKey(),
      'product_id' => $productId, //product Id
      'qty' => 1 //quantity of product
      );
      $_product = $this->product->create()->load($productId);
      $this->cart->addProduct($_product, $params);

      $productItem = $this->getProductQuote($_product);
      $productItem->setCustomPrice($customPrice);
      $productItem->setOriginalCustomPrice($customPrice);
      //Enable super mode on the product.
      $productItem->getProduct()->setIsSuperMode(true);
      $this->cart->save();
      echo "success";
      }


      public function getProductQuote($product)
      {
      $quote = $this->checkoutSession->getQuote();
      $cartItems = $quote->getItemByProduct($product);
      return $cartItems;
      }
      }


      The above code adds the product of qty 1 to the cart with a custom price whenever it is called.



      I want to add only 1 qty of product to the cart. suppose if its called two or three times, only one qty should be present in cart. Need to remove previously added qty from the cart.



      Is something can be done programmatically? There is a product setting in backend "Maximum qty allowed in cart", we can set this value but I am looking for the code how it can be done programmatically.



      Can anyone look into it and help me, please. Thanks










      share|improve this question
















      I have created a custom controller in my module and calling via ajax to add the item to cart.



      Below is my controller code.



      <?php 

      namespace {Vendor}{Module}ControllerProduct;
      class AddProduct extends MagentoFrameworkAppActionAction
      {
      protected $formKey;
      protected $cart;
      protected $product;
      protected $checkoutSession;
      public function __construct(
      MagentoFrameworkAppActionContext $context,
      MagentoFrameworkDataFormFormKey $formKey,
      MagentoCheckoutModelCart $cart,
      MagentoCatalogModelProductFactory $product,
      MagentoCheckoutModelSession $checkoutSession,
      array $data = []) {
      $this->formKey = $formKey;
      $this->cart = $cart;
      $this->product = $product;
      $this->checkoutSession = $checkoutSession;
      parent::__construct($context);
      }
      public function execute()
      {
      $productId = 1;
      $customPrice = 150;
      $params = array(
      'form_key' => $this->formKey->getFormKey(),
      'product_id' => $productId, //product Id
      'qty' => 1 //quantity of product
      );
      $_product = $this->product->create()->load($productId);
      $this->cart->addProduct($_product, $params);

      $productItem = $this->getProductQuote($_product);
      $productItem->setCustomPrice($customPrice);
      $productItem->setOriginalCustomPrice($customPrice);
      //Enable super mode on the product.
      $productItem->getProduct()->setIsSuperMode(true);
      $this->cart->save();
      echo "success";
      }


      public function getProductQuote($product)
      {
      $quote = $this->checkoutSession->getQuote();
      $cartItems = $quote->getItemByProduct($product);
      return $cartItems;
      }
      }


      The above code adds the product of qty 1 to the cart with a custom price whenever it is called.



      I want to add only 1 qty of product to the cart. suppose if its called two or three times, only one qty should be present in cart. Need to remove previously added qty from the cart.



      Is something can be done programmatically? There is a product setting in backend "Maximum qty allowed in cart", we can set this value but I am looking for the code how it can be done programmatically.



      Can anyone look into it and help me, please. Thanks







      magento2 product addtocart controllers






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 mins ago









      magefms

      1,327224




      1,327224










      asked 18 mins ago









      jafar pinjarjafar pinjar

      683414




      683414






















          0






          active

          oldest

          votes











          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%2f265396%2fallow-only-one-qty-of-item-into-cart-in-magento-2%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          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%2f265396%2fallow-only-one-qty-of-item-into-cart-in-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)...

          夢乃愛華...