How to get the custom attribute of products from the cart?Magento 2 : Get Custom Attribute Value of ProductI created a custom module ,but getting error, not able to figure out what the error is about. How to get out of this error?main.CRITICAL: Plugin class doesn't existSet custom price of product when adding to cart code not workingMagento 2 Log Bundle Product Data in List Page?Magento 2: Add a product to the cart programmaticallyMonolog Error After 2.2 UpgradeMagento 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?

Could Giant Ground Sloths have been a good pack animal for the ancient Mayans?

"listening to me about as much as you're listening to this pole here"

What does 'script /dev/null' do?

What causes the sudden spool-up sound from an F-16 when enabling afterburner?

Piano - What is the notation for a double stop where both notes in the double stop are different lengths?

Shall I use personal or official e-mail account when registering to external websites for work purpose?

How to deal with fear of taking dependencies

Domain expired, GoDaddy holds it and is asking more money

Why do UK politicians seemingly ignore opinion polls on Brexit?

What do the Banks children have against barley water?

Hosting Wordpress in a EC2 Load Balanced Instance

Unbreakable Formation vs. Cry of the Carnarium

Was there ever an axiom rendered a theorem?

How would photo IDs work for shapeshifters?

Can a planet have a different gravitational pull depending on its location in orbit around its sun?

Is there a way to make member function NOT callable from constructor?

"My colleague's body is amazing"

What is the command to reset a PC without deleting any files

Check if two datetimes are between two others

What happens when a metallic dragon and a chromatic dragon mate?

extract characters between two commas?

How to answer pointed "are you quitting" questioning when I don't want them to suspect

Eliminate empty elements from a list with a specific pattern

Can the Produce Flame cantrip be used to grapple, or as an unarmed strike, in the right circumstances?



How to get the custom attribute of products from the cart?


Magento 2 : Get Custom Attribute Value of ProductI created a custom module ,but getting error, not able to figure out what the error is about. How to get out of this error?main.CRITICAL: Plugin class doesn't existSet custom price of product when adding to cart code not workingMagento 2 Log Bundle Product Data in List Page?Magento 2: Add a product to the cart programmaticallyMonolog Error After 2.2 UpgradeMagento 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?






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








0















There is an attribute in the product AllowSameDayDelivery how can I get it out of the product?



I got the products ids from the cart, But how do I get the attribute now?



<?php

namespace RonisSameDayDeliveryObserver;

use MagentoFrameworkEventObserverInterface;
use MagentoCatalogModelResourceModelProductCollectionFactory;

class DayDelivery implements ObserverInterface

protected $resultPageFactory;

/**
* @var MagentoCheckoutModelCart
*/
protected $_cart;
protected $_productCollectionFactory;

/**
* [__construct description]
* @param MagentoFrameworkAppActionContext $context [description]
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory [description]
* @param MagentoCheckoutModelCart $cart [description]
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoFrameworkViewResultPageFactory $resultPageFactory,
MagentoCheckoutModelCart $cart,
CollectionFactory $productCollectionFactory
)
$this->resultPageFactory = $resultPageFactory;
$this->_cart = $cart;
$this->_productCollectionFactory = $productCollectionFactory;


public function execute(MagentoFrameworkEventObserver $observer)

$writer = new ZendLogWriterStream(BP . '/var/log/delivery.log');
$logger = new ZendLogLogger();
$logger->addWriter($writer);

$cartProductIds = $this->_cart->getQuoteProductIds();
$productCollection = $this->_productCollectionFactory->create();
$productCollection->addFieldToFilter('entity_id', ['in' => [$cartProductIds]]);
foreach ($productCollection as $item)
var_dump ($item->getAllowSameDayDelivery());die;






now it always returns null even though it is in this product.











share|improve this question
























  • possible as duplicate magento.stackexchange.com/q/157584/60921

    – ARUNPRABAKARAN M
    11 hours ago












  • use the flag action to mark it as duplicated

    – LucScu
    10 hours ago

















0















There is an attribute in the product AllowSameDayDelivery how can I get it out of the product?



I got the products ids from the cart, But how do I get the attribute now?



<?php

namespace RonisSameDayDeliveryObserver;

use MagentoFrameworkEventObserverInterface;
use MagentoCatalogModelResourceModelProductCollectionFactory;

class DayDelivery implements ObserverInterface

protected $resultPageFactory;

/**
* @var MagentoCheckoutModelCart
*/
protected $_cart;
protected $_productCollectionFactory;

/**
* [__construct description]
* @param MagentoFrameworkAppActionContext $context [description]
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory [description]
* @param MagentoCheckoutModelCart $cart [description]
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoFrameworkViewResultPageFactory $resultPageFactory,
MagentoCheckoutModelCart $cart,
CollectionFactory $productCollectionFactory
)
$this->resultPageFactory = $resultPageFactory;
$this->_cart = $cart;
$this->_productCollectionFactory = $productCollectionFactory;


public function execute(MagentoFrameworkEventObserver $observer)

$writer = new ZendLogWriterStream(BP . '/var/log/delivery.log');
$logger = new ZendLogLogger();
$logger->addWriter($writer);

$cartProductIds = $this->_cart->getQuoteProductIds();
$productCollection = $this->_productCollectionFactory->create();
$productCollection->addFieldToFilter('entity_id', ['in' => [$cartProductIds]]);
foreach ($productCollection as $item)
var_dump ($item->getAllowSameDayDelivery());die;






now it always returns null even though it is in this product.











share|improve this question
























  • possible as duplicate magento.stackexchange.com/q/157584/60921

    – ARUNPRABAKARAN M
    11 hours ago












  • use the flag action to mark it as duplicated

    – LucScu
    10 hours ago













0












0








0








There is an attribute in the product AllowSameDayDelivery how can I get it out of the product?



I got the products ids from the cart, But how do I get the attribute now?



<?php

namespace RonisSameDayDeliveryObserver;

use MagentoFrameworkEventObserverInterface;
use MagentoCatalogModelResourceModelProductCollectionFactory;

class DayDelivery implements ObserverInterface

protected $resultPageFactory;

/**
* @var MagentoCheckoutModelCart
*/
protected $_cart;
protected $_productCollectionFactory;

/**
* [__construct description]
* @param MagentoFrameworkAppActionContext $context [description]
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory [description]
* @param MagentoCheckoutModelCart $cart [description]
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoFrameworkViewResultPageFactory $resultPageFactory,
MagentoCheckoutModelCart $cart,
CollectionFactory $productCollectionFactory
)
$this->resultPageFactory = $resultPageFactory;
$this->_cart = $cart;
$this->_productCollectionFactory = $productCollectionFactory;


public function execute(MagentoFrameworkEventObserver $observer)

$writer = new ZendLogWriterStream(BP . '/var/log/delivery.log');
$logger = new ZendLogLogger();
$logger->addWriter($writer);

$cartProductIds = $this->_cart->getQuoteProductIds();
$productCollection = $this->_productCollectionFactory->create();
$productCollection->addFieldToFilter('entity_id', ['in' => [$cartProductIds]]);
foreach ($productCollection as $item)
var_dump ($item->getAllowSameDayDelivery());die;






now it always returns null even though it is in this product.











share|improve this question
















There is an attribute in the product AllowSameDayDelivery how can I get it out of the product?



I got the products ids from the cart, But how do I get the attribute now?



<?php

namespace RonisSameDayDeliveryObserver;

use MagentoFrameworkEventObserverInterface;
use MagentoCatalogModelResourceModelProductCollectionFactory;

class DayDelivery implements ObserverInterface

protected $resultPageFactory;

/**
* @var MagentoCheckoutModelCart
*/
protected $_cart;
protected $_productCollectionFactory;

/**
* [__construct description]
* @param MagentoFrameworkAppActionContext $context [description]
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory [description]
* @param MagentoCheckoutModelCart $cart [description]
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoFrameworkViewResultPageFactory $resultPageFactory,
MagentoCheckoutModelCart $cart,
CollectionFactory $productCollectionFactory
)
$this->resultPageFactory = $resultPageFactory;
$this->_cart = $cart;
$this->_productCollectionFactory = $productCollectionFactory;


public function execute(MagentoFrameworkEventObserver $observer)

$writer = new ZendLogWriterStream(BP . '/var/log/delivery.log');
$logger = new ZendLogLogger();
$logger->addWriter($writer);

$cartProductIds = $this->_cart->getQuoteProductIds();
$productCollection = $this->_productCollectionFactory->create();
$productCollection->addFieldToFilter('entity_id', ['in' => [$cartProductIds]]);
foreach ($productCollection as $item)
var_dump ($item->getAllowSameDayDelivery());die;






now it always returns null even though it is in this product.








magento2 event-observer product-collection quote custom-attributes






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 10 hours ago









ARUNPRABAKARAN M

403113




403113










asked 11 hours ago









Рома ЛытарьРома Лытарь

1719




1719












  • possible as duplicate magento.stackexchange.com/q/157584/60921

    – ARUNPRABAKARAN M
    11 hours ago












  • use the flag action to mark it as duplicated

    – LucScu
    10 hours ago

















  • possible as duplicate magento.stackexchange.com/q/157584/60921

    – ARUNPRABAKARAN M
    11 hours ago












  • use the flag action to mark it as duplicated

    – LucScu
    10 hours ago
















possible as duplicate magento.stackexchange.com/q/157584/60921

– ARUNPRABAKARAN M
11 hours ago






possible as duplicate magento.stackexchange.com/q/157584/60921

– ARUNPRABAKARAN M
11 hours ago














use the flag action to mark it as duplicated

– LucScu
10 hours ago





use the flag action to mark it as duplicated

– LucScu
10 hours ago










1 Answer
1






active

oldest

votes


















1














In the product collection you will get only product attributes with the flag Used in Product Listing set to 'yes'.



Therefore you have two solutions:



  1. Set the flag Used in Product Listing set to 'yes' for your attribute allow_same_day_delivery (I guess that's your attribute_code)

or alternative



  1. load the product by Id for each product in the foreach loop using the ProductFactory, then you have all attributes available





share|improve this answer























  • this is how I have yes values ​​in the product. I downloaded the product by "_productCollectionFactory". How do I get my attribute now?

    – Рома Лытарь
    11 hours ago











  • That depends on the type of your attribute: For text/varchar attributes $item->getData('allow_same_day_delivery'); or $item->getAllowSameDayDelivery() should work. For select attributes you should be able to get the attribute text like this $item->getAttributeText('allow_same_day_delivery'); But anyway if $item->getData('allow_same_day_delivery'); is empty the attribute seems not to be in the collection

    – HelgeB
    11 hours ago












  • Not one of the options came up. All give out null, except for the last one, but they also give out not what is needed.

    – Рома Лытарь
    11 hours ago











  • So $item->getData('allow_same_day_delivery'); will get you some not empty / null output, but $item->getAttributeText('allow_same_day_delivery'); not? What kind of attribute is allow_same_day_delivery?

    – HelgeB
    11 hours ago











  • How then to add it to the collection?

    – Рома Лытарь
    11 hours ago











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%2f269209%2fhow-to-get-the-custom-attribute-of-products-from-the-cart%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














In the product collection you will get only product attributes with the flag Used in Product Listing set to 'yes'.



Therefore you have two solutions:



  1. Set the flag Used in Product Listing set to 'yes' for your attribute allow_same_day_delivery (I guess that's your attribute_code)

or alternative



  1. load the product by Id for each product in the foreach loop using the ProductFactory, then you have all attributes available





share|improve this answer























  • this is how I have yes values ​​in the product. I downloaded the product by "_productCollectionFactory". How do I get my attribute now?

    – Рома Лытарь
    11 hours ago











  • That depends on the type of your attribute: For text/varchar attributes $item->getData('allow_same_day_delivery'); or $item->getAllowSameDayDelivery() should work. For select attributes you should be able to get the attribute text like this $item->getAttributeText('allow_same_day_delivery'); But anyway if $item->getData('allow_same_day_delivery'); is empty the attribute seems not to be in the collection

    – HelgeB
    11 hours ago












  • Not one of the options came up. All give out null, except for the last one, but they also give out not what is needed.

    – Рома Лытарь
    11 hours ago











  • So $item->getData('allow_same_day_delivery'); will get you some not empty / null output, but $item->getAttributeText('allow_same_day_delivery'); not? What kind of attribute is allow_same_day_delivery?

    – HelgeB
    11 hours ago











  • How then to add it to the collection?

    – Рома Лытарь
    11 hours ago















1














In the product collection you will get only product attributes with the flag Used in Product Listing set to 'yes'.



Therefore you have two solutions:



  1. Set the flag Used in Product Listing set to 'yes' for your attribute allow_same_day_delivery (I guess that's your attribute_code)

or alternative



  1. load the product by Id for each product in the foreach loop using the ProductFactory, then you have all attributes available





share|improve this answer























  • this is how I have yes values ​​in the product. I downloaded the product by "_productCollectionFactory". How do I get my attribute now?

    – Рома Лытарь
    11 hours ago











  • That depends on the type of your attribute: For text/varchar attributes $item->getData('allow_same_day_delivery'); or $item->getAllowSameDayDelivery() should work. For select attributes you should be able to get the attribute text like this $item->getAttributeText('allow_same_day_delivery'); But anyway if $item->getData('allow_same_day_delivery'); is empty the attribute seems not to be in the collection

    – HelgeB
    11 hours ago












  • Not one of the options came up. All give out null, except for the last one, but they also give out not what is needed.

    – Рома Лытарь
    11 hours ago











  • So $item->getData('allow_same_day_delivery'); will get you some not empty / null output, but $item->getAttributeText('allow_same_day_delivery'); not? What kind of attribute is allow_same_day_delivery?

    – HelgeB
    11 hours ago











  • How then to add it to the collection?

    – Рома Лытарь
    11 hours ago













1












1








1







In the product collection you will get only product attributes with the flag Used in Product Listing set to 'yes'.



Therefore you have two solutions:



  1. Set the flag Used in Product Listing set to 'yes' for your attribute allow_same_day_delivery (I guess that's your attribute_code)

or alternative



  1. load the product by Id for each product in the foreach loop using the ProductFactory, then you have all attributes available





share|improve this answer













In the product collection you will get only product attributes with the flag Used in Product Listing set to 'yes'.



Therefore you have two solutions:



  1. Set the flag Used in Product Listing set to 'yes' for your attribute allow_same_day_delivery (I guess that's your attribute_code)

or alternative



  1. load the product by Id for each product in the foreach loop using the ProductFactory, then you have all attributes available






share|improve this answer












share|improve this answer



share|improve this answer










answered 11 hours ago









HelgeBHelgeB

3,1331322




3,1331322












  • this is how I have yes values ​​in the product. I downloaded the product by "_productCollectionFactory". How do I get my attribute now?

    – Рома Лытарь
    11 hours ago











  • That depends on the type of your attribute: For text/varchar attributes $item->getData('allow_same_day_delivery'); or $item->getAllowSameDayDelivery() should work. For select attributes you should be able to get the attribute text like this $item->getAttributeText('allow_same_day_delivery'); But anyway if $item->getData('allow_same_day_delivery'); is empty the attribute seems not to be in the collection

    – HelgeB
    11 hours ago












  • Not one of the options came up. All give out null, except for the last one, but they also give out not what is needed.

    – Рома Лытарь
    11 hours ago











  • So $item->getData('allow_same_day_delivery'); will get you some not empty / null output, but $item->getAttributeText('allow_same_day_delivery'); not? What kind of attribute is allow_same_day_delivery?

    – HelgeB
    11 hours ago











  • How then to add it to the collection?

    – Рома Лытарь
    11 hours ago

















  • this is how I have yes values ​​in the product. I downloaded the product by "_productCollectionFactory". How do I get my attribute now?

    – Рома Лытарь
    11 hours ago











  • That depends on the type of your attribute: For text/varchar attributes $item->getData('allow_same_day_delivery'); or $item->getAllowSameDayDelivery() should work. For select attributes you should be able to get the attribute text like this $item->getAttributeText('allow_same_day_delivery'); But anyway if $item->getData('allow_same_day_delivery'); is empty the attribute seems not to be in the collection

    – HelgeB
    11 hours ago












  • Not one of the options came up. All give out null, except for the last one, but they also give out not what is needed.

    – Рома Лытарь
    11 hours ago











  • So $item->getData('allow_same_day_delivery'); will get you some not empty / null output, but $item->getAttributeText('allow_same_day_delivery'); not? What kind of attribute is allow_same_day_delivery?

    – HelgeB
    11 hours ago











  • How then to add it to the collection?

    – Рома Лытарь
    11 hours ago
















this is how I have yes values ​​in the product. I downloaded the product by "_productCollectionFactory". How do I get my attribute now?

– Рома Лытарь
11 hours ago





this is how I have yes values ​​in the product. I downloaded the product by "_productCollectionFactory". How do I get my attribute now?

– Рома Лытарь
11 hours ago













That depends on the type of your attribute: For text/varchar attributes $item->getData('allow_same_day_delivery'); or $item->getAllowSameDayDelivery() should work. For select attributes you should be able to get the attribute text like this $item->getAttributeText('allow_same_day_delivery'); But anyway if $item->getData('allow_same_day_delivery'); is empty the attribute seems not to be in the collection

– HelgeB
11 hours ago






That depends on the type of your attribute: For text/varchar attributes $item->getData('allow_same_day_delivery'); or $item->getAllowSameDayDelivery() should work. For select attributes you should be able to get the attribute text like this $item->getAttributeText('allow_same_day_delivery'); But anyway if $item->getData('allow_same_day_delivery'); is empty the attribute seems not to be in the collection

– HelgeB
11 hours ago














Not one of the options came up. All give out null, except for the last one, but they also give out not what is needed.

– Рома Лытарь
11 hours ago





Not one of the options came up. All give out null, except for the last one, but they also give out not what is needed.

– Рома Лытарь
11 hours ago













So $item->getData('allow_same_day_delivery'); will get you some not empty / null output, but $item->getAttributeText('allow_same_day_delivery'); not? What kind of attribute is allow_same_day_delivery?

– HelgeB
11 hours ago





So $item->getData('allow_same_day_delivery'); will get you some not empty / null output, but $item->getAttributeText('allow_same_day_delivery'); not? What kind of attribute is allow_same_day_delivery?

– HelgeB
11 hours ago













How then to add it to the collection?

– Рома Лытарь
11 hours ago





How then to add it to the collection?

– Рома Лытарь
11 hours ago

















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%2f269209%2fhow-to-get-the-custom-attribute-of-products-from-the-cart%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

Disable / Remove link to Product Items in Cart Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How can I limit products that can be bought / added to cart?Remove item from cartHide “Add to Cart” button if specific products are already in cart“Prettifying” the custom options in cart pageCreate link in cart sidebar to view all added items After limit reachedLink products together in checkout/cartHow to Get product from cart and add it againHide action-edit on cart page if simple productRemoving Cart items - ObserverRemove wishlist items when added to cart

Helsingin valtaus Sisällysluettelo Taustaa | Yleistä sotatoimista | Osapuolet | Taistelut Helsingin ympäristössä | Punaisten antautumissuunnitelma | Taistelujen kulku Helsingissä | Valtauksen jälkeen | Tappiot | Muistaminen | Kirjallisuutta | Lähteet | Aiheesta muualla | NavigointivalikkoTeoksen verkkoversioTeoksen verkkoversioGoogle BooksSisällissota Helsingissä päättyi tasan 95 vuotta sittenSaksalaisten ylivoima jyräsi punaisen HelsinginSuomalaiset kuvaavat sotien jälkiä kaupungeissa – katso kuvat ja tarinat tutuilta kulmiltaHelsingin valtaus 90 vuotta sittenSaksalaiset valtasivat HelsinginHyökkäys HelsinkiinHelsingin valtaus 12.–13.4. 1918Saksalaiset käyttivät ihmiskilpiä Helsingin valtauksessa 1918Teoksen verkkoversioTeoksen verkkoversioSaksalaiset hyökkäävät Etelä-SuomeenTaistelut LeppävaarassaSotilaat ja taistelutLeppävaara 1918 huhtikuussa. KapinatarinaHelsingin taistelut 1918Saksalaisten voitonparaati HelsingissäHelsingin valtausta juhlittiinSaksalaisten Helsinki vuonna 1918Helsingin taistelussa kaatuneet valkokaartilaisetHelsinkiin haudatut taisteluissa kaatuneet punaiset12.4.1918 Helsingin valtauksessa saksalaiset apujoukot vapauttavat kaupunginVapaussodan muistomerkkejä Helsingissä ja pääkaupunkiseudullaCrescendo / Vuoden 1918 Kansalaissodan uhrien muistomerkkim

Adjektiivitarina Tarinan tekeminen | Esimerkki: ennen | Esimerkki: jälkeen | Navigointivalikko