Magento Asked by Raphael at Digital Pianism on September 7, 2020
I noticed that Magento 2 contains several catalog_attributes.xml
files in the following folders:
app/code/Magento/Bundle/etc
app/code/Magento/Catalog/etc
app/code/Magento/CatalogSearch/etc
app/code/Magento/CatalogUrlRewrite/etc
app/code/Magento/Downloadable/etc
app/code/Magento/GiftMessage/etc
app/code/Magento/Msrp/etc
app/code/Magento/Sales/etc
app/code/Magento/Tax/etc
app/code/Magento/Wishlist/etc
Those files look like this (example for the Sales
file):
<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="sku"/>
<attribute name="type_id"/>
<attribute name="name"/>
<attribute name="status"/>
<attribute name="visibility"/>
<attribute name="price"/>
<attribute name="weight"/>
<attribute name="url_path"/>
<attribute name="url_key"/>
<attribute name="thumbnail"/>
<attribute name="small_image"/>
<attribute name="tax_class_id"/>
<attribute name="special_from_date"/>
<attribute name="special_to_date"/>
<attribute name="special_price"/>
<attribute name="cost"/>
<attribute name="gift_message_available"/>
</group>
</config>
What are those files used for ?
In general, these files contain a list of attributes that serve different purposes.
The group used_in_autogeneration
from the file in catalog module serves for listing attributes that have the value autogenerated.
They are retrieved in MagentoCatalogHelperProduct::getAttributesAllowedForAutogeneration
The group quote_item
represents the attributes that are going to be copied from the product to the quote item.
unassignable
contains the list of attributes that cannot be unassigned from any attribute set.
Sorry, but I don't know all the available groups.
But you are not limited only to the existing groups. You can add your own and use them as you please just by calling MagentoCatalogModelAttributeConfig::getAttributeNames('group_name_here')
. (but instantiate the class first).
[EDIT]
I'm not sure about this one, but I think catalog_category
and catalog_product
groups hold the system attributes for products and categories.
Correct answer by Marius on September 7, 2020
Just yesterday I stumbled upon that for the first time. It's used for example to add custom attributes to quote item products, otherwise they won't be loaded to save resources (in my case I wanted to display the color
attribute on the cart page). In Magento 1 you would enter something like this to your module config.xml
:
<config>
<global>
<sales>
<quote>
<item>
<product_attributes>
<color />
</product_attributes>
</item>
</quote>
</sales>
</global>
</config>
To achieve the same in M2, you have to add a catalog_attributes.xml
to your module and do the following:
<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="color" />
</group>
</config>
Answered by fmrng on September 7, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP