在我的价格属性下的产品列表页面和产品详细信息页面中显示自定义属性

Displaying Custom attribute in Product LIST PAGE, and Product Details page Under my Price attribute

我创建了一个名为 cloth material 的自定义属性,我想在我的产品列表页面和产品详细信息页面中显示它在我的价格下。

有人可以建议我如何实现吗?当前的博客文章已过时。我正在使用 Magento 2.3.3。

我还需要以编程方式进行。当我通过选择“在商店目录中显示”来执行此操作时,它会在更多详细信息下显示。

首先,在您的自定义主题中创建 catalog_product_view.xml。 (如果已经存在,则修改此文件)

app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xml 并在此文件中添加以下代码:

<?xml version="1.0" ?>
 <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="product.info.main">
           <block class="Magento\Catalog\Block\Product\View" name="cloth.material" template="Magento_Catalog::view/cloth_material.phtml" after="product.info.price"/>
        </referenceContainer>
    </body>
</page>

现在创建 cloth_material.phtml 并在此文件中添加以下代码:

app/design/frontend/Vendor/theme/Magento_Catalog/templates/product/view/cloth_material.phtml 并在此文件中添加以下代码:

<?php
   $_product = $block->getProduct();
   // First method
   $attribute_value = $_product->getResource()->getAttribute('your_attribute_code')->getFrontend()->getValue($_product);
   // second method
   $attribute_value = $_product->getAttributeText('your_attribute_code');
?>