Zauważyłem, że Magento 2 zawiera kilka catalog_attributes.xml
plików w następujących folderach:
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
Te pliki wyglądają tak (przykład Sales
pliku):
<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>
Do czego służą te pliki?
magento2
attributes
magento-2.0
magento-2.0.5
Raphael at Digital Pianism
źródło
źródło
Odpowiedzi:
Zasadniczo pliki te zawierają listę atrybutów, które służą różnym celom.
Grupa
used_in_autogeneration
z pliku w module katalogu służy do wyświetlania atrybutów, których wartość jest generowana automatycznie.Są pobierane
\Magento\Catalog\Helper\Product::getAttributesAllowedForAutogeneration
Grupa
quote_item
reprezentuje atrybuty, które zostaną skopiowane z produktu do pozycji oferty.unassignable
zawiera listę atrybutów, których nie można oddzielić od żadnego zestawu atrybutów.Przepraszam, ale nie znam wszystkich dostępnych grup.
Ale nie jesteś ograniczony tylko do istniejących grup. Możesz dodać własne i używać ich tak, jak chcesz, po prostu dzwoniąc
\Magento\Catalog\Model\Attribute\Config::getAttributeNames('group_name_here')
. (ale najpierw utwórz instancję klasy).[EDYCJA]
Nie jestem tego pewien, ale myślę, że grupy
catalog_category
icatalog_product
grupy posiadają atrybuty systemowe produktów i kategorii.źródło
Jeszcze wczoraj natknąłem się na to po raz pierwszy. Służy na przykład do dodawania niestandardowych atrybutów w celu wyceny produktów, w przeciwnym razie nie zostaną załadowane w celu zaoszczędzenia zasobów (w moim przypadku chciałem wyświetlić
color
atrybut na stronie koszyka). W Magento 1 wpisujesz coś takiego do swojego modułuconfig.xml
:Aby osiągnąć to samo w M2, musisz dodać a
catalog_attributes.xml
do swojego modułu i wykonać następujące czynności:źródło