A melhor prática no magento é fazê-lo via xml.
Para obter um atributo padrão, faça algo parecido com isto, catalog_product_view.xml
por exemplo:
<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>
Isso obterá o valor de um atributo de entrada ou área de texto. Se você tiver uma lista suspensa, use o tipo de texto; adicione esta linha na lista de argumentos:
<argument name="at_type" xsi:type="string">text</argument>
Não há necessidade de criar arquivos ou escrever qualquer código php para obter um atributo. Dessa forma, você usará o mesmo código php padrão para qualquer atributo e precisará alterá-lo apenas uma vez, se necessário.
Eu tinha solução para o meu problema:
fonte
Espero que ajude
fonte
Outra maneira em arquivos phtml:
como em:
vendor/magento/module-catalog/view/frontend/templates/product/view/description.phtml
fonte
Criando um bloco dentro do catalog_product_view.xml e adicione dentro de qualquer contêiner desejado ou crie um contêiner em torno dele.
fonte