问题描述
我创建了一个名为布料材质的自定义属性,我想在我的产品列表页面和我的价格下的产品详细信息页面中显示它。
有人可以建议我如何实现它吗?当前的博客文章已过时。我使用的是 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');
?>