Noté que Magento 2 contiene varios catalog_attributes.xml
archivos en las siguientes carpetas:
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
Esos archivos se ven así (ejemplo para el Sales
archivo):
<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>
¿Para qué se usan esos archivos?
magento2
attributes
magento-2.0
magento-2.0.5
Raphael en Digital Pianism
fuente
fuente
Respuestas:
En general, estos archivos contienen una lista de atributos que sirven para diferentes propósitos.
El grupo
used_in_autogeneration
del archivo en el módulo de catálogo sirve para enumerar atributos que tienen el valor autogenerado.Son recuperados en
\Magento\Catalog\Helper\Product::getAttributesAllowedForAutogeneration
El grupo
quote_item
representa los atributos que se copiarán del producto al artículo de presupuesto.unassignable
contiene la lista de atributos que no se pueden asignar de ningún conjunto de atributos.Lo siento, pero no conozco todos los grupos disponibles.
Pero no está limitado solo a los grupos existentes. Puede agregar los suyos y usarlos como desee simplemente llamando
\Magento\Catalog\Model\Attribute\Config::getAttributeNames('group_name_here')
. (pero instanciar la clase primero).[EDIT]
No estoy seguro acerca de esto, pero yo cosa
catalog_category
ycatalog_product
grupos mantienen los atributos del sistema para los productos y categorías.fuente
Justo ayer me topé con eso por primera vez. Se usa, por ejemplo, para agregar atributos personalizados para cotizar productos de artículos, de lo contrario no se cargarán para ahorrar recursos (en mi caso, quería mostrar el
color
atributo en la página del carrito). En Magento 1 ingresarías algo como esto en tu móduloconfig.xml
:Para lograr lo mismo en M2, debe agregar un
catalog_attributes.xml
a su módulo y hacer lo siguiente:fuente