How i can Change the behavior of Upsell Products in mageto 2How to change a qty text in Minicart?How to check the upsell products stock and status in magento 2How to change the current password optionalHow to change the position of the block in magento2.2.2How can I increase the speed of my Magento website?How to remove the stock status in magento2How to get the custom option in magento2How can I show all products in a top level category sorting by the child categories?How to add loader untill the image not ready on page loadHow to show both at same time Upsell and Related Products In Product View Page Magento 2

How does this change to the opportunity attack rule impact combat?

Position of past participle and extent of the Verbklammer

Pronunciation of numbers with respect to years

What is the name of this hexagon/pentagon polyhedron?

Out of scope work duties and resignation

Why doesn't WotC use established keywords on all new cards?

What does a spell range of "25 ft. + 5 ft./2 levels" mean?

I'm in your subnets, golfing your code

Randomness of Python's random

I drew a randomly colored grid of points with tikz, how do I force it to remember the first grid from then on?

Why do money exchangers give different rates to different bills?

Does a card have a keyword if it has the same effect as said keyword?

Building a list of products from the elements in another list

As matter approaches a black hole, does it speed up?

Can hackers enable the camera after the user disabled it?

Should I replace my bicycle tires if they have not been inflated in multiple years

Should I mention being denied entry to UK due to a confusion in my Visa and Ticket bookings?

What to use instead of cling film to wrap pastry

BOOM! Perfect Clear for Mr. T

Set collection doesn't always enforce uniqueness with the Date datatype? Does the following example seem correct?

Why are prions in animal diets not destroyed by the digestive system?

Would Hubble Space Telescope improve black hole image observed by EHT if it joined array of telesopes?

If stationary points and minima are equivalent, then the function is convex?

Did we get closer to another plane than we were supposed to, or was the pilot just protecting our delicate sensibilities?



How i can Change the behavior of Upsell Products in mageto 2


How to change a qty text in Minicart?How to check the upsell products stock and status in magento 2How to change the current password optionalHow to change the position of the block in magento2.2.2How can I increase the speed of my Magento website?How to remove the stock status in magento2How to get the custom option in magento2How can I show all products in a top level category sorting by the child categories?How to add loader untill the image not ready on page loadHow to show both at same time Upsell and Related Products In Product View Page Magento 2






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








0















All i want to do is i want to show upsells products according to my phtml file



i have already done this for cross sells and its working fine i wrote a view/layout file



<?xml version="1.0"?>
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<css src="Vendo_ModuleName::css/owl.carousel.css" />
<css src="Vendo_ModuleName::css/owl.theme.default.min.css" />
<css src="Vendo_ModuleName::css/style.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js" ></script>
<script src="Vendo_ModuleName::js/owl.carousel.js" ></script>
</head>
<body>
<referenceBlock name="product.info.options.wrapper">
<block class="VendoModuleNameBlockFrontendCrossSell" name="test.crosssell" template="slider.phtml" after="-">
<arguments>
<argument name="type" xsi:type="string">crosssell</argument>
</arguments>
<block class="MagentoCatalogBlockProductProductListItemContainer" name="crosssell.product.addto" as="addto">
<block class="MagentoCatalogBlockProductProductListItemAddToCompare"
name="crosssell.product.addto.compare" as="compare"
template="Magento_Catalog::product/list/addto/compare.phtml"/>
</block>
</block>

</referenceBlock>
<move element="test.crosssell" destination="content" after="product.info.media"/>
</body>
</page>


now i want to do same for up sell products i already made a block for upsells in



use VendoModuleNameHelperData as ModuleNameHelper;

class UpSells extends MagentoCatalogBlockProductAbstractProduct implements MagentoFrameworkDataObjectIdentityInterface
protected $_sliderType = 'up-sells';
protected $_itemCollection;
protected $_storeManager;
protected $_sliderfactory;
protected $_helper;
protected $_customerSession;
protected $_customerGroupCollection;
public function __construct(
MagentoCatalogBlockProductContext $context,
MagentoFrameworkStdlibDateTimeDateTime $date,
MagentoCustomerModelSession $customerSession,
MagentoCustomerModelGroup $customerGroupCollection,
MagentoStoreModelStoreManagerInterface $storeManager,
VendoModuleNameModelResourceModelProductSlidersCollectionFactory $slidefactory,
ModuleNameHelper $helper,
array $data = []
)
$this->_sliderfactory = $slidefactory;
$this->date = $date;
$this->_customerSession = $customerSession;
$this->_storeManager = $storeManager;
$this->_registry = $context->getRegistry();
$this->_customerGroupCollection = $customerGroupCollection;
$this->_helper=$helper;
parent::__construct(
$context,
$data
);


protected function _prepareData()

$date = $this->date->gmtDate();

$rules=$this->_sliderfactory->create()
->addStatusFilter()
->addTypeFilter($this->_sliderType)
->addCurrentSlider($date)
->addStoreFilter($this->getStoreId())
->addCostumerGroupFilter($this->_helper->getCustomerGroupId());



$item=$rules->getFirstItem();
$product = $this->_registry->registry('current_product');
$this->_itemCollection = $product->getUpSellProductCollection()->addAttributeToSelect(
$this->_catalogConfig->getProductAttributes()
)->setPositionOrder()->addStoreFilter();
$this->_itemCollection->load();
foreach ($this->_itemCollection as $product)
$product->setDoNotUseCategoryId(true);


return $this;



protected function _beforeToHtml()

$this->_prepareData();
return parent::_beforeToHtml();

public function getItems()


return $this->_itemCollection;

public function getStoreId()

return $this->_storeManager->getStore()->getId();

public function getItemCount()
return count($this->getItems());

public function getIdentities()


$identities = [];
foreach ($this->getItems() as $item)
$identities = array_merge($identities, $item->getIdentities());

return $identities;











share|improve this question




























    0















    All i want to do is i want to show upsells products according to my phtml file



    i have already done this for cross sells and its working fine i wrote a view/layout file



    <?xml version="1.0"?>
    <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
    <css src="Vendo_ModuleName::css/owl.carousel.css" />
    <css src="Vendo_ModuleName::css/owl.theme.default.min.css" />
    <css src="Vendo_ModuleName::css/style.css" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js" ></script>
    <script src="Vendo_ModuleName::js/owl.carousel.js" ></script>
    </head>
    <body>
    <referenceBlock name="product.info.options.wrapper">
    <block class="VendoModuleNameBlockFrontendCrossSell" name="test.crosssell" template="slider.phtml" after="-">
    <arguments>
    <argument name="type" xsi:type="string">crosssell</argument>
    </arguments>
    <block class="MagentoCatalogBlockProductProductListItemContainer" name="crosssell.product.addto" as="addto">
    <block class="MagentoCatalogBlockProductProductListItemAddToCompare"
    name="crosssell.product.addto.compare" as="compare"
    template="Magento_Catalog::product/list/addto/compare.phtml"/>
    </block>
    </block>

    </referenceBlock>
    <move element="test.crosssell" destination="content" after="product.info.media"/>
    </body>
    </page>


    now i want to do same for up sell products i already made a block for upsells in



    use VendoModuleNameHelperData as ModuleNameHelper;

    class UpSells extends MagentoCatalogBlockProductAbstractProduct implements MagentoFrameworkDataObjectIdentityInterface
    protected $_sliderType = 'up-sells';
    protected $_itemCollection;
    protected $_storeManager;
    protected $_sliderfactory;
    protected $_helper;
    protected $_customerSession;
    protected $_customerGroupCollection;
    public function __construct(
    MagentoCatalogBlockProductContext $context,
    MagentoFrameworkStdlibDateTimeDateTime $date,
    MagentoCustomerModelSession $customerSession,
    MagentoCustomerModelGroup $customerGroupCollection,
    MagentoStoreModelStoreManagerInterface $storeManager,
    VendoModuleNameModelResourceModelProductSlidersCollectionFactory $slidefactory,
    ModuleNameHelper $helper,
    array $data = []
    )
    $this->_sliderfactory = $slidefactory;
    $this->date = $date;
    $this->_customerSession = $customerSession;
    $this->_storeManager = $storeManager;
    $this->_registry = $context->getRegistry();
    $this->_customerGroupCollection = $customerGroupCollection;
    $this->_helper=$helper;
    parent::__construct(
    $context,
    $data
    );


    protected function _prepareData()

    $date = $this->date->gmtDate();

    $rules=$this->_sliderfactory->create()
    ->addStatusFilter()
    ->addTypeFilter($this->_sliderType)
    ->addCurrentSlider($date)
    ->addStoreFilter($this->getStoreId())
    ->addCostumerGroupFilter($this->_helper->getCustomerGroupId());



    $item=$rules->getFirstItem();
    $product = $this->_registry->registry('current_product');
    $this->_itemCollection = $product->getUpSellProductCollection()->addAttributeToSelect(
    $this->_catalogConfig->getProductAttributes()
    )->setPositionOrder()->addStoreFilter();
    $this->_itemCollection->load();
    foreach ($this->_itemCollection as $product)
    $product->setDoNotUseCategoryId(true);


    return $this;



    protected function _beforeToHtml()

    $this->_prepareData();
    return parent::_beforeToHtml();

    public function getItems()


    return $this->_itemCollection;

    public function getStoreId()

    return $this->_storeManager->getStore()->getId();

    public function getItemCount()
    return count($this->getItems());

    public function getIdentities()


    $identities = [];
    foreach ($this->getItems() as $item)
    $identities = array_merge($identities, $item->getIdentities());

    return $identities;











    share|improve this question
























      0












      0








      0








      All i want to do is i want to show upsells products according to my phtml file



      i have already done this for cross sells and its working fine i wrote a view/layout file



      <?xml version="1.0"?>
      <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
      <head>
      <css src="Vendo_ModuleName::css/owl.carousel.css" />
      <css src="Vendo_ModuleName::css/owl.theme.default.min.css" />
      <css src="Vendo_ModuleName::css/style.css" />
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js" ></script>
      <script src="Vendo_ModuleName::js/owl.carousel.js" ></script>
      </head>
      <body>
      <referenceBlock name="product.info.options.wrapper">
      <block class="VendoModuleNameBlockFrontendCrossSell" name="test.crosssell" template="slider.phtml" after="-">
      <arguments>
      <argument name="type" xsi:type="string">crosssell</argument>
      </arguments>
      <block class="MagentoCatalogBlockProductProductListItemContainer" name="crosssell.product.addto" as="addto">
      <block class="MagentoCatalogBlockProductProductListItemAddToCompare"
      name="crosssell.product.addto.compare" as="compare"
      template="Magento_Catalog::product/list/addto/compare.phtml"/>
      </block>
      </block>

      </referenceBlock>
      <move element="test.crosssell" destination="content" after="product.info.media"/>
      </body>
      </page>


      now i want to do same for up sell products i already made a block for upsells in



      use VendoModuleNameHelperData as ModuleNameHelper;

      class UpSells extends MagentoCatalogBlockProductAbstractProduct implements MagentoFrameworkDataObjectIdentityInterface
      protected $_sliderType = 'up-sells';
      protected $_itemCollection;
      protected $_storeManager;
      protected $_sliderfactory;
      protected $_helper;
      protected $_customerSession;
      protected $_customerGroupCollection;
      public function __construct(
      MagentoCatalogBlockProductContext $context,
      MagentoFrameworkStdlibDateTimeDateTime $date,
      MagentoCustomerModelSession $customerSession,
      MagentoCustomerModelGroup $customerGroupCollection,
      MagentoStoreModelStoreManagerInterface $storeManager,
      VendoModuleNameModelResourceModelProductSlidersCollectionFactory $slidefactory,
      ModuleNameHelper $helper,
      array $data = []
      )
      $this->_sliderfactory = $slidefactory;
      $this->date = $date;
      $this->_customerSession = $customerSession;
      $this->_storeManager = $storeManager;
      $this->_registry = $context->getRegistry();
      $this->_customerGroupCollection = $customerGroupCollection;
      $this->_helper=$helper;
      parent::__construct(
      $context,
      $data
      );


      protected function _prepareData()

      $date = $this->date->gmtDate();

      $rules=$this->_sliderfactory->create()
      ->addStatusFilter()
      ->addTypeFilter($this->_sliderType)
      ->addCurrentSlider($date)
      ->addStoreFilter($this->getStoreId())
      ->addCostumerGroupFilter($this->_helper->getCustomerGroupId());



      $item=$rules->getFirstItem();
      $product = $this->_registry->registry('current_product');
      $this->_itemCollection = $product->getUpSellProductCollection()->addAttributeToSelect(
      $this->_catalogConfig->getProductAttributes()
      )->setPositionOrder()->addStoreFilter();
      $this->_itemCollection->load();
      foreach ($this->_itemCollection as $product)
      $product->setDoNotUseCategoryId(true);


      return $this;



      protected function _beforeToHtml()

      $this->_prepareData();
      return parent::_beforeToHtml();

      public function getItems()


      return $this->_itemCollection;

      public function getStoreId()

      return $this->_storeManager->getStore()->getId();

      public function getItemCount()
      return count($this->getItems());

      public function getIdentities()


      $identities = [];
      foreach ($this->getItems() as $item)
      $identities = array_merge($identities, $item->getIdentities());

      return $identities;











      share|improve this question














      All i want to do is i want to show upsells products according to my phtml file



      i have already done this for cross sells and its working fine i wrote a view/layout file



      <?xml version="1.0"?>
      <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
      <head>
      <css src="Vendo_ModuleName::css/owl.carousel.css" />
      <css src="Vendo_ModuleName::css/owl.theme.default.min.css" />
      <css src="Vendo_ModuleName::css/style.css" />
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js" ></script>
      <script src="Vendo_ModuleName::js/owl.carousel.js" ></script>
      </head>
      <body>
      <referenceBlock name="product.info.options.wrapper">
      <block class="VendoModuleNameBlockFrontendCrossSell" name="test.crosssell" template="slider.phtml" after="-">
      <arguments>
      <argument name="type" xsi:type="string">crosssell</argument>
      </arguments>
      <block class="MagentoCatalogBlockProductProductListItemContainer" name="crosssell.product.addto" as="addto">
      <block class="MagentoCatalogBlockProductProductListItemAddToCompare"
      name="crosssell.product.addto.compare" as="compare"
      template="Magento_Catalog::product/list/addto/compare.phtml"/>
      </block>
      </block>

      </referenceBlock>
      <move element="test.crosssell" destination="content" after="product.info.media"/>
      </body>
      </page>


      now i want to do same for up sell products i already made a block for upsells in



      use VendoModuleNameHelperData as ModuleNameHelper;

      class UpSells extends MagentoCatalogBlockProductAbstractProduct implements MagentoFrameworkDataObjectIdentityInterface
      protected $_sliderType = 'up-sells';
      protected $_itemCollection;
      protected $_storeManager;
      protected $_sliderfactory;
      protected $_helper;
      protected $_customerSession;
      protected $_customerGroupCollection;
      public function __construct(
      MagentoCatalogBlockProductContext $context,
      MagentoFrameworkStdlibDateTimeDateTime $date,
      MagentoCustomerModelSession $customerSession,
      MagentoCustomerModelGroup $customerGroupCollection,
      MagentoStoreModelStoreManagerInterface $storeManager,
      VendoModuleNameModelResourceModelProductSlidersCollectionFactory $slidefactory,
      ModuleNameHelper $helper,
      array $data = []
      )
      $this->_sliderfactory = $slidefactory;
      $this->date = $date;
      $this->_customerSession = $customerSession;
      $this->_storeManager = $storeManager;
      $this->_registry = $context->getRegistry();
      $this->_customerGroupCollection = $customerGroupCollection;
      $this->_helper=$helper;
      parent::__construct(
      $context,
      $data
      );


      protected function _prepareData()

      $date = $this->date->gmtDate();

      $rules=$this->_sliderfactory->create()
      ->addStatusFilter()
      ->addTypeFilter($this->_sliderType)
      ->addCurrentSlider($date)
      ->addStoreFilter($this->getStoreId())
      ->addCostumerGroupFilter($this->_helper->getCustomerGroupId());



      $item=$rules->getFirstItem();
      $product = $this->_registry->registry('current_product');
      $this->_itemCollection = $product->getUpSellProductCollection()->addAttributeToSelect(
      $this->_catalogConfig->getProductAttributes()
      )->setPositionOrder()->addStoreFilter();
      $this->_itemCollection->load();
      foreach ($this->_itemCollection as $product)
      $product->setDoNotUseCategoryId(true);


      return $this;



      protected function _beforeToHtml()

      $this->_prepareData();
      return parent::_beforeToHtml();

      public function getItems()


      return $this->_itemCollection;

      public function getStoreId()

      return $this->_storeManager->getStore()->getId();

      public function getItemCount()
      return count($this->getItems());

      public function getIdentities()


      $identities = [];
      foreach ($this->getItems() as $item)
      $identities = array_merge($identities, $item->getIdentities());

      return $identities;








      magento2.2 php-7






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 29 at 5:35









      Waqar AliWaqar Ali

      257




      257




















          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%2f272742%2fhow-i-can-change-the-behavior-of-upsell-products-in-mageto-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%2f272742%2fhow-i-can-change-the-behavior-of-upsell-products-in-mageto-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

          Get product attribute by attribute group code in magento 2get product attribute by product attribute group in magento 2Magento 2 Log Bundle Product Data in List Page?How to get all product attribute of a attribute group of Default attribute set?Magento 2.1 Create a filter in the product grid by new attributeMagento 2 : Get Product Attribute values By GroupMagento 2 How to get all existing values for one attributeMagento 2 get custom attribute of a single product inside a pluginMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?Magento2: how to develop rest API to get new productsGet product attribute by attribute group code ( [attribute_group_code] ) in magento 2

          Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

          Magento 2.3: How do i solve this, Not registered handle, on custom form?How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento 2.2.5: Overriding Admin Controller sales/orderMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 : File Upload issue in UI Component FormMagento2 Not registered handleHow to configured Form Builder Js in my custom magento 2.3.0 module?Magento 2.3. How to create image upload field in an admin form