Hello Magento folks?
Having a good day! Here is your wait over for the best Magento Tutorial blog Today I will help you in solving How to get product attributes in cart in Magento 2. Also, have a look at our last published article where we discussed How to Set Magento 2 Configurable Product Price. Let’s get started?
Introduction:
Mainly, Magento attributes include more than one name and values. Nearly all of the products attributes are known as the name, SKU, description, image, etc. During the cart display admin always prefers displaying the information of the product. This illustration will be helping you to show how to get product attributes in Magento 2.
Steps to get product attribute in cart in Magento 2:
Firstly, you will be required to declare at catalog_attributes.xml file where you can simply define custom attribute values with the help of quote_item group.
Step 1 : Create catalog_attributes.xml in the following path :
app\code\Vendor\Extension\etc\catalog_attributes.xml
and add following code :
1 2 3 4 5 6 |
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Catalog:etc/catalog_attributes.xsd"> <group name="quote_item"> <attribute name="custom_attribute"/> <!-- add your custom attribute name --> </group> </config> |
Step 2 : Now you need to copy default.phtml from following path
vendor\magento\module-checkout\view\frontend\templates\cart\item\default.phtml
to your theme, now you need to add following line to display your attribute
1 |
<?php echo $product->getCustomAttribute(); ?> |
Step 3: Refresh the Cache and that’s it.
Over to you:
I expect the issue was solved by implementing the above illustration but in case any difficulties do comment down in the comment section below. Also, share the blog article with your developer friends and help them to get product attributes in cart in Magento 2. For any queries do contact us at MageComp Support.
Happy Reading?
Hello, this is all great and all, but what If I need to add a product attribute to the cart and then use the sum of that attribute in Shopping Restrictions from Amasty? As far as Iäm aware XML are only frontend files for displaying and stuff.
For that one you need to create the product attribute in that way, so you will get that into the list of shipping Restriction extensions.
Hello, I’m using Magento 2.4.1
I’m not able to find the
app\code\Vendor\Extension\etc\catalog_attributes.xml
In app the only two present folders are:
design and etc
Could you tell me what do I have to do?
my goal is to show a custom attribute that I have created and associated with some products on the cart page
I’m using luma theme
Really really thanks!
In the blog we have mentioned a sample extension path, you need to replace that path with your custom extension and need to create on that place.
Kindly assist, I have the same issue, but my attribute should display html on cart above price when the product has the attribute:
/magento_files/app/code/Magento/etc/catalog_attributes.xml
in default.phtml:
getResource()->getAttribute(‘badge_free_shipping’)->getFrontend()->getValue($_product);
if($_free_shipping == ‘Yes’) : ?>
Free Shipping in SA
I get an error in system.log of undefined variable “_product”,
so I included :
get(‘Magento\Framework\Registry’)->registry(‘current_product’);//get current product
?>
but my basket items disappear on cart page
apologies, in /magento_files/app/code/Magento/etc/catalog_attributes.xml:
This is working, but its getting the data from the parent product and not from the configured product data. How would I get from here to the info on the specific configuration the customer has in the cart?
This is the problem I’m having too. Did you find a solution to this Allen?
hi,
im looking for this, but your solution does not work for me in magento 2.3.5-p1.
This Folder does not exist in my system:
app\code\Vendor\Extension\etc\catalog_attributes.xml
So i Created it
app\code\Testvendor\Testextension\etc\catalog_attributes.xml
is this enough? Or do i have to create more Files in that Extension folder?
For your extension, you need to create all necessary files and then you need to enable your module
Sorry my mistake, thanks for the quick reply, now it works 😉