Magento 2 : Getting issue during added non-visible product to cart through observer?Set custom price of...

If nine coins are tossed, what is the probability that the number of heads is even?

I've given my players a lot of magic items. Is it reasonable for me to give them harder encounters?

Is there such a thing in math the inverse of a sequence?

Why is there an extra space when I type "ls" on the Desktop?

Why do we call complex numbers “numbers” but we don’t consider 2 vectors numbers?

A bug in Excel? Conditional formatting for marking duplicates also highlights unique value

What is better: yes / no radio, or simple checkbox?

Why are special aircraft used for the carriers in the United States Navy?

Where do you go through passport control when transiting through another Schengen airport on your way out of the Schengen area?

Do natural melee weapons (from racial traits) trigger Improved Divine Smite?

In the world of The Matrix, what is "popping"?

What can I do if someone tampers with my SSH public key?

Replacing tantalum capacitor with ceramic capacitor for Op Amps

The need of reserving one's ability in job interviews

Are small insurances worth it

Are Wave equations equivalent to Maxwell equations in free space?

Giving a talk in my old university, how prominently should I tell students my salary?

Is this nominative case or accusative case?

Why is the electrolytic capacitor not polarity sensitive?

How do you make a gun that shoots melee weapons and/or swords?

Computing the volume of a simplex-like object with constraints

The (Easy) Road to Code

Was it really inappropriate to write a pull request for the company I interviewed with?

What is the purpose of a disclaimer like "this is not legal advice"?



Magento 2 : Getting issue during added non-visible product to cart through observer?


Set custom price of product when adding to cart code not workingPrice not getting updated for second product…I want to add parent product to cart using child product id, it's configurable options in magento 2.1Magento 2: Add a product to the cart programmaticallyAdd to cart button freezes and nothing is put in basketget Quote Item ID from event checkout_cart_product_add_after not workingMagento 2: After custom cookie is created all pages default to home pageI have created one field using product form field for my price i want save my field value at product creation time from backend magento2Magento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 Can't view module's front end page output?













1















For this, I use below event observer



    <?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_cart_product_add_after">
<observer name="servicefee" instance="decaServicefeeObserverAddFeeProduct" />
</event>

</config>


And below is my observer code
`



<?php
namespace decaServicefeeObserver;

use MagentoFrameworkEventObserverInterface;
use MagentoFrameworkAppRequestInterface;
use decaServicefeeHelperData as servicefeeHelper;

class AddFeeProduct implements ObserverInterface
{
protected $_productRepository;
protected $_cart;
protected $formKey;
/**
* @var servicefeeHelper
*/
protected $servicefeeHelper;

public function __construct(
MagentoCatalogModelProductRepository $productRepository,
MagentoCheckoutModelCart $cart,
MagentoFrameworkDataFormFormKey $formKey,
servicefeeHelper $servicefeeHelper
)
{
$this->_productRepository = $productRepository;
$this->_cart = $cart;
$this->formKey = $formKey;
$this->servicefeeHelper = $servicefeeHelper;
}
public function execute(MagentoFrameworkEventObserver $observer)
{

$serviceFeeSku = trim($this->servicefeeHelper->getServiceFeeUPC());
$item = $observer->getEvent()->getData('quote_item');
$product = $observer->getEvent()->getData('product');
$item = ($item->getParentItem() ? $item->getParentItem() : $item);
$_product = $this->_productRepository->get($serviceFeeSku);

// Check to see if item is already in the cart
$arrProdIds = $this->_cart->getQuoteProductIds();
$serviceFeeProdID = $_product->getEntityId();
foreach ($arrProdIds as $key=>$value)
{
if ($key == $serviceFeeProdID)
{
return;
}
}

// Enter the id of the prouduct which are required to be added to avoid recurrsion
if($product->getId() != $serviceFeeProdID){
$params = array(
'product' => $serviceFeeProdID,
'qty' => 1
);

$this->_cart->addProduct($_product,$params);
$this->_cart->save();
}

}
}


Then I tried to add any product but whenver I click to addtocart button it redirects to the non-visible product URl with 404 error. Product also not added to the cart.Can anybody help me to understand my issue?










share|improve this question





























    1















    For this, I use below event observer



        <?xml version="1.0"?>

    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="checkout_cart_product_add_after">
    <observer name="servicefee" instance="decaServicefeeObserverAddFeeProduct" />
    </event>

    </config>


    And below is my observer code
    `



    <?php
    namespace decaServicefeeObserver;

    use MagentoFrameworkEventObserverInterface;
    use MagentoFrameworkAppRequestInterface;
    use decaServicefeeHelperData as servicefeeHelper;

    class AddFeeProduct implements ObserverInterface
    {
    protected $_productRepository;
    protected $_cart;
    protected $formKey;
    /**
    * @var servicefeeHelper
    */
    protected $servicefeeHelper;

    public function __construct(
    MagentoCatalogModelProductRepository $productRepository,
    MagentoCheckoutModelCart $cart,
    MagentoFrameworkDataFormFormKey $formKey,
    servicefeeHelper $servicefeeHelper
    )
    {
    $this->_productRepository = $productRepository;
    $this->_cart = $cart;
    $this->formKey = $formKey;
    $this->servicefeeHelper = $servicefeeHelper;
    }
    public function execute(MagentoFrameworkEventObserver $observer)
    {

    $serviceFeeSku = trim($this->servicefeeHelper->getServiceFeeUPC());
    $item = $observer->getEvent()->getData('quote_item');
    $product = $observer->getEvent()->getData('product');
    $item = ($item->getParentItem() ? $item->getParentItem() : $item);
    $_product = $this->_productRepository->get($serviceFeeSku);

    // Check to see if item is already in the cart
    $arrProdIds = $this->_cart->getQuoteProductIds();
    $serviceFeeProdID = $_product->getEntityId();
    foreach ($arrProdIds as $key=>$value)
    {
    if ($key == $serviceFeeProdID)
    {
    return;
    }
    }

    // Enter the id of the prouduct which are required to be added to avoid recurrsion
    if($product->getId() != $serviceFeeProdID){
    $params = array(
    'product' => $serviceFeeProdID,
    'qty' => 1
    );

    $this->_cart->addProduct($_product,$params);
    $this->_cart->save();
    }

    }
    }


    Then I tried to add any product but whenver I click to addtocart button it redirects to the non-visible product URl with 404 error. Product also not added to the cart.Can anybody help me to understand my issue?










    share|improve this question



























      1












      1








      1








      For this, I use below event observer



          <?xml version="1.0"?>

      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
      <event name="checkout_cart_product_add_after">
      <observer name="servicefee" instance="decaServicefeeObserverAddFeeProduct" />
      </event>

      </config>


      And below is my observer code
      `



      <?php
      namespace decaServicefeeObserver;

      use MagentoFrameworkEventObserverInterface;
      use MagentoFrameworkAppRequestInterface;
      use decaServicefeeHelperData as servicefeeHelper;

      class AddFeeProduct implements ObserverInterface
      {
      protected $_productRepository;
      protected $_cart;
      protected $formKey;
      /**
      * @var servicefeeHelper
      */
      protected $servicefeeHelper;

      public function __construct(
      MagentoCatalogModelProductRepository $productRepository,
      MagentoCheckoutModelCart $cart,
      MagentoFrameworkDataFormFormKey $formKey,
      servicefeeHelper $servicefeeHelper
      )
      {
      $this->_productRepository = $productRepository;
      $this->_cart = $cart;
      $this->formKey = $formKey;
      $this->servicefeeHelper = $servicefeeHelper;
      }
      public function execute(MagentoFrameworkEventObserver $observer)
      {

      $serviceFeeSku = trim($this->servicefeeHelper->getServiceFeeUPC());
      $item = $observer->getEvent()->getData('quote_item');
      $product = $observer->getEvent()->getData('product');
      $item = ($item->getParentItem() ? $item->getParentItem() : $item);
      $_product = $this->_productRepository->get($serviceFeeSku);

      // Check to see if item is already in the cart
      $arrProdIds = $this->_cart->getQuoteProductIds();
      $serviceFeeProdID = $_product->getEntityId();
      foreach ($arrProdIds as $key=>$value)
      {
      if ($key == $serviceFeeProdID)
      {
      return;
      }
      }

      // Enter the id of the prouduct which are required to be added to avoid recurrsion
      if($product->getId() != $serviceFeeProdID){
      $params = array(
      'product' => $serviceFeeProdID,
      'qty' => 1
      );

      $this->_cart->addProduct($_product,$params);
      $this->_cart->save();
      }

      }
      }


      Then I tried to add any product but whenver I click to addtocart button it redirects to the non-visible product URl with 404 error. Product also not added to the cart.Can anybody help me to understand my issue?










      share|improve this question
















      For this, I use below event observer



          <?xml version="1.0"?>

      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
      <event name="checkout_cart_product_add_after">
      <observer name="servicefee" instance="decaServicefeeObserverAddFeeProduct" />
      </event>

      </config>


      And below is my observer code
      `



      <?php
      namespace decaServicefeeObserver;

      use MagentoFrameworkEventObserverInterface;
      use MagentoFrameworkAppRequestInterface;
      use decaServicefeeHelperData as servicefeeHelper;

      class AddFeeProduct implements ObserverInterface
      {
      protected $_productRepository;
      protected $_cart;
      protected $formKey;
      /**
      * @var servicefeeHelper
      */
      protected $servicefeeHelper;

      public function __construct(
      MagentoCatalogModelProductRepository $productRepository,
      MagentoCheckoutModelCart $cart,
      MagentoFrameworkDataFormFormKey $formKey,
      servicefeeHelper $servicefeeHelper
      )
      {
      $this->_productRepository = $productRepository;
      $this->_cart = $cart;
      $this->formKey = $formKey;
      $this->servicefeeHelper = $servicefeeHelper;
      }
      public function execute(MagentoFrameworkEventObserver $observer)
      {

      $serviceFeeSku = trim($this->servicefeeHelper->getServiceFeeUPC());
      $item = $observer->getEvent()->getData('quote_item');
      $product = $observer->getEvent()->getData('product');
      $item = ($item->getParentItem() ? $item->getParentItem() : $item);
      $_product = $this->_productRepository->get($serviceFeeSku);

      // Check to see if item is already in the cart
      $arrProdIds = $this->_cart->getQuoteProductIds();
      $serviceFeeProdID = $_product->getEntityId();
      foreach ($arrProdIds as $key=>$value)
      {
      if ($key == $serviceFeeProdID)
      {
      return;
      }
      }

      // Enter the id of the prouduct which are required to be added to avoid recurrsion
      if($product->getId() != $serviceFeeProdID){
      $params = array(
      'product' => $serviceFeeProdID,
      'qty' => 1
      );

      $this->_cart->addProduct($_product,$params);
      $this->_cart->save();
      }

      }
      }


      Then I tried to add any product but whenver I click to addtocart button it redirects to the non-visible product URl with 404 error. Product also not added to the cart.Can anybody help me to understand my issue?







      magento2 magento-2.1 event-observer addtocart






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 21 secs ago









      Prathap Gunasekaran

      1,039314




      1,039314










      asked 7 hours ago









      Nilava ChakrabortyNilava Chakraborty

      466




      466






















          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%2f264929%2fmagento-2-getting-issue-during-added-non-visible-product-to-cart-through-obser%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%2f264929%2fmagento-2-getting-issue-during-added-non-visible-product-to-cart-through-obser%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)...

          夢乃愛華...