Jawaban:
Cara lain, untuk atribut khusus: kita cukup mendapatkan nilai dengan menggunakan getCustomAttribute ()
if (null !== $product->getCustomAttribute('your_custom_attribute')) {
echo $product->getCustomAttribute('your_custom_attribute')->getValue();
}
Praktik terbaik di Magento adalah melakukannya melalui xml.
Untuk mendapatkan atribut standar, Anda melakukan sesuatu seperti ini di catalog_product_view.xml
misalnya:
<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>
Ini akan mendapatkan nilai atribut input atau textarea. Jika Anda memiliki dropdown, Anda harus menggunakan jenis teks, jadi tambahkan baris ini dalam daftar argumen:
<argument name="at_type" xsi:type="string">text</argument>
Tidak perlu membuat file atau menulis kode php apa pun untuk mendapatkan atribut. Dengan cara ini Anda akan menggunakan kode php default yang sama untuk atribut apa pun dan Anda harus mengubahnya hanya sekali jika diperlukan.
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$_product = $objectManager->get('Magento\Catalog\Model\Product')->load($product_id);
$_product->getData('attr_code');
Semoga ini bisa membantu
Cara lain dalam file-file phtml:
echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($block->getProduct(), $block->getProduct()->getDescription(), 'description')
seperti dalam: vendor/magento/module-catalog/view/frontend/templates/product/view/description.phtml
Membuat Blok di dalam catalog_product_view.xml dan menambahkan di dalam wadah apa pun yang Anda inginkan atau membuat wadah di sekitarnya.
<!-- Get a attribute -->
<block class="Magento\Catalog\Block\Product\View\Description" name="product.attributes.Height" template="product/view/attribute.phtml" before="-">
<arguments>
<argument name="at_call" xsi:type="string">getHeight</argument>
<argument name="at_code" xsi:type="string">height</argument>
<argument name="css_class" xsi:type="string">height</argument>
<argument name="at_label" xsi:type="string">none</argument>
<argument name="add_attribute" xsi:type="string">itemprop="Height"</argument>
</arguments>
</block>