답변:
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 코드를 사용하고 필요한 경우 한 번만 변경해야합니다.
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$_product = $objectManager->get('Magento\Catalog\Model\Product')->load($product_id);
$_product->getData('attr_code');
그것이 도움이되기를 바랍니다.
phtml 파일의 다른 방법 :
echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($block->getProduct(), $block->getProduct()->getDescription(), 'description')
에서와 같이 : vendor/magento/module-catalog/view/frontend/templates/product/view/description.phtml
catalog_product_view.xml 내에 블록을 작성하고 원하는 컨테이너 내부에 추가하거나 주위에 컨테이너를 작성하십시오.
<!-- 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>