Лучшая практика в magento - это делать через xml.
Чтобы получить стандартный атрибут, вы делаете что-то вроде этого, catalog_product_view.xml
например:
<referenceContainer name="product.info.main">
<block class="Magento\Catalog\Block\Product\View\Description" name="product.info.brand" template="product/view/attribute.phtml" before="-">
<arguments>
<argument name="at_call" xsi:type="string">getBrand</argument>
<argument name="at_code" xsi:type="string">brand</argument>
<argument name="css_class" xsi:type="string">brand</argument>
<argument name="at_label" xsi:type="string">none</argument>
<argument name="add_attribute" xsi:type="string">itemprop="brand"</argument>
</arguments>
</block>
</referenceContainer>
Это получит значение входного атрибута или текстовой области. Если у вас есть выпадающий список, вы должны использовать текстовый тип, поэтому добавьте эту строку в список аргументов:
<argument name="at_type" xsi:type="string">text</argument>
Нет необходимости создавать файлы или писать код php, чтобы получить атрибут. Таким образом, вы будете использовать один и тот же php-код по умолчанию для любого атрибута, и вам придется изменять его только один раз, если это необходимо.
У меня было решение для моей проблемы:
источник
Надеюсь, это поможет
источник
Еще один способ в phtml-файлах:
как в:
vendor/magento/module-catalog/view/frontend/templates/product/view/description.phtml
источник
Создание блока внутри catalog_product_view.xml и добавление внутри любого контейнера, который вы хотите, или создание контейнера вокруг него.
источник