Magento 2:什么是catalog_attributes.xml文件?


14

我注意到Magento 2 catalog_attributes.xml在以下文件夹中包含几个文件:

  • 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

这些文件如下所示(该Sales文件的示例):

<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>

这些文件是用来做什么的?



Answers:


20

通常,这些文件包含用于不同目的的属性列表。目录模块中文件中
的组used_in_autogeneration用于列出具有自动生成的值的属性。
他们被检索到\Magento\Catalog\Helper\Product::getAttributesAllowedForAutogeneration

该组quote_item表示将要从产品复制到报价项目的属性。

unassignable 包含不能从任何属性集中取消分配的属性列表。

抱歉,但我不知道所有可用的群组。
但是您不仅限于现有的小组。您可以添加自己的内容,并通过致电随意使用它们\Magento\Catalog\Model\Attribute\Config::getAttributeNames('group_name_here')。(但首先实例化该类)。

[编辑]
我不确定这一点,但我的事catalog_categorycatalog_product组拥有产品和类别的系统属性。


9

就在昨天,我第一次偶然发现了它。例如,它用于为报价产品添加自定义属性,否则将不会加载它们以节省资源(在我的情况下,我想color在购物车页面上显示该属性)。在Magento 1中,您可以在模块中输入以下内容config.xml

<config>
    <global>
        <sales>
            <quote>
                <item>
                    <product_attributes>
                        <color />
                    </product_attributes>
                </item>
            </quote>
        </sales>
    </global>
</config>

要在M2中达到相同的目的,您必须catalog_attributes.xml在模块中添加一个并执行以下操作:

<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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.