J'ai remarqué que Magento 2 contient plusieurs catalog_attributes.xml
fichiers dans les dossiers suivants:
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
Ces fichiers ressemblent à ceci (exemple pour le Sales
fichier):
<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>
À quoi servent ces fichiers?
magento2
attributes
magento-2.0
magento-2.0.5
Raphael chez Digital Pianism
la source
la source
Réponses:
En général, ces fichiers contiennent une liste d'attributs qui servent à différentes fins.
Le groupe
used_in_autogeneration
du fichier dans le module de catalogue sert à répertorier les attributs dont la valeur est générée automatiquement.Ils sont récupérés dans
\Magento\Catalog\Helper\Product::getAttributesAllowedForAutogeneration
Le groupe
quote_item
représente les attributs qui vont être copiés du produit vers l'élément de devis.unassignable
contient la liste des attributs qui ne peuvent pas être désaffectés d'un ensemble d'attributs.Désolé, mais je ne connais pas tous les groupes disponibles.
Mais vous n'êtes pas limité aux seuls groupes existants. Vous pouvez ajouter les vôtres et les utiliser à votre guise en appelant
\Magento\Catalog\Model\Attribute\Config::getAttributeNames('group_name_here')
. (mais instanciez d'abord la classe).[EDIT]
Je ne suis pas sûr de celui - ci, mais que je
catalog_category
etcatalog_product
groupes ont les attributs système pour les produits et les catégories.la source
Pas plus tard qu'hier, je suis tombé dessus pour la première fois. Il est utilisé par exemple pour ajouter des attributs personnalisés pour citer des produits d'articles, sinon ils ne seront pas chargés pour économiser des ressources (dans mon cas, je voulais afficher l'
color
attribut sur la page du panier). Dans Magento 1, vous entreriez quelque chose comme ceci dans votre moduleconfig.xml
:Pour obtenir la même chose en M2, vous devez ajouter un
catalog_attributes.xml
à votre module et procédez comme suit:la source