Product Detail Page Attributes
Product Attributes are listed on the default Hyvä Product Detail Page at two places:
- Below the short description in the
Magento_Catalog::product/view/product-info.phtml
template - In the "More Information" section towards the end of the page in the
Magento_Catalog::product/view/attributes.phtml
template.
Below the Short Description
The attributes rendered below the short description are defined in Layout XML as arguments to the product.info
block.
<block class="Magento\Catalog\Block\Product\View"
name="product.info"
template="Magento_Catalog::product/view/product-info.phtml">
<arguments>
<!-- Use `default` as the value for `call` unless you want a specific method to be used. -->
<argument name="attributes" xsi:type="array">
<item name="sku" xsi:type="array">
<item name="call" xsi:type="string">getSku</item>
<item name="code" xsi:type="string">sku</item>
<item name="label" xsi:type="string">default</item>
<item name="css_class" xsi:type="string">sku</item>
</item>
<item name="color" xsi:type="array">
<item name="call" xsi:type="string">default</item>
<item name="code" xsi:type="string">color</item>
<item name="label" xsi:type="string">default</item>
<item name="css_class" xsi:type="string">color</item>
</item>
...
</argument>
</arguments>
</block>
Each attribute to render is declared as a sub-array in the attributes
array argument.
There are four properties that need to be declared in the array:
Property | Meaning |
---|---|
call |
The string default or an alternative getter method name, for example getSku . If in doubt use default . |
code |
The attribute code, for example material . |
label |
The string default or an alternative attribute label, for example Quality . |
css_class |
This property is currently not used. |
To hide the list of attributes, the product-info.phtml
template has to be overridden in a custom theme and the appropriate HTML has to be removed.
In the More Information section
The attributes listed in the "More Information" section are defined by their EAV attribute properties.
All attributes of the current product with the "Is Visible On Frontend" set to "Yes" will be rendered. To change their appearance or hide them, the attribute properties have to be edited in the Magento Admin (or the Database).
To hide the section, the block product.attributes
has to be removed using Layout XML.