Tiêm một thể hiện \Magento\Catalog\Model\Product\Attribute\Repository
trong hàm tạo của bạn (trong một khối, lớp trình trợ giúp hoặc bất cứ nơi nào):
/**
* @var \Magento\Catalog\Model\Product\Attribute\Repository $_productAttributeRepository
*/
protected $_productAttributeRepository;
/**
* ...
* @param \Magento\Catalog\Model\Product\Attribute\Repository $productAttributeRepository
* ...
*/
public function __construct(
...
\Magento\Catalog\Model\Product\Attribute\Repository $productAttributeRepository,
...
) {
...
$this->_productAttributeRepository = $productAttributeRepository;
...
}
Sau đó tạo một phương thức trong lớp của bạn để lấy thuộc tính theo mã:
/**
* Get single product attribute data
*
* @return Magento\Catalog\Api\Data\ProductAttributeInterface
*/
public function getProductAttributeByCode($code)
{
$attribute = $this->_productAttributeRepository->get($code);
return $attribute;
}
Sau đó, bạn có thể gọi phương thức này như vậy, ví dụ: bên trong tệp .phtml
$attrTest = $block->getProductAttributeByCode('test');
Sau đó, bạn có thể thực hiện cuộc gọi trên đối tượng thuộc tính, vd
- Nhận tùy chọn:
$attribute->getOptions()
- Nhận nhãn frontend cho mỗi cửa hàng:
$attrTest->getFrontendLabels()
- Gỡ lỗi mảng dữ liệu:
echo '> ' . print_r($attrTest->debug(), true);
debug: Array ([property_id] => 274 [entity_type_id] => 4 [property_code] => sản phẩm_manual_doad_label [backend_type] => varchar [frontend_input] => text [frontend_label] => Hướng dẫn tải xuống sản phẩm is_user_d xác định] => 1 [default_value] => Tải xuống hướng dẫn sử dụng sản phẩm [is_unique] => 0 [is_global] => 0 [is_visible] => 1 [is_searchable] => 0 [is_filterable] => 0 [is_comparable] is_visible_on__n_n___________h_hh đó_ đó_ đó là đó là một thứ gì đó được sử dụng0 [is_wysiwyg_enables] => 0 [is_wysiwyg_enables] => 0 [is_use_for_promo_r__________