La mejor práctica en magento es hacerlo a través de xml.
Para obtener un atributo estándar, haga algo como esto, catalog_product_view.xml
por ejemplo:
<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>
Esto obtendrá el valor de un atributo de entrada o área de texto. Si tiene un menú desplegable, debe usar el tipo de texto, así que agregue esta línea en la lista de argumentos:
<argument name="at_type" xsi:type="string">text</argument>
No es necesario crear archivos o escribir ningún código php para obtener un atributo. De esta forma, usará el mismo código php predeterminado para cualquier atributo y tendrá que cambiarlo solo una vez si es necesario.
Tenía solución para mi problema:
fuente
Espero eso ayude
fuente
Otra forma en archivos phtml:
como en:
vendor/magento/module-catalog/view/frontend/templates/product/view/description.phtml
fuente
Crear un bloque dentro de catalog_product_view.xml y agregar dentro de cualquier contenedor que desee o crear un contenedor a su alrededor.
fuente