Tôi đang cố lấy một thuộc tính sản phẩm trong mẫu giỏ hàng. Nhưng tôi không làm việc! Thuộc tính được đặt thành Hiển thị trên các trang Danh mục trên Storefront = yes và Được sử dụng trong Danh sách sản phẩm = yes
Tôi sử dụng một mô-đun tùy chỉnh để ghi đè lên mẫu sau:
/vendor/magento/module-checkout/view/frontend/templates/cart/item/default.phtml
Tôi có sản phẩm:
$_item = $block->getItem();
$product = $_item->getProduct();
Thông thường tôi sẽ mong đợi một thuộc tính tùy chỉnh (thuộc loại văn bản trong trường hợp này) với mã thuộc tính 'sample_attr' có sẵn với một trong những điều sau:
$product->getData('sample_attr');
hoặc là
$product->getSampleAttr();
Một số thuộc tính có sẵn bằng cách sử dụng này (sku, trọng lượng, giá ..), nhưng đối với một thuộc tính tùy chỉnh không hoạt động. Trình trợ giúp đi kèm (\ Magento \ Msrp \ Helper \ Data) cũng không có phương thức thuộc tính.
Tôi có thể nhận được tất cả các mã thuộc tính bằng cách sử dụng:
$attributes = $product->getAttributes();
foreach($attributes as $a)
{
var_dump($a->getName());
}
Tôi cũng đã thử:
$attribute = $product->getResource()->getAttribute('sample_attr');
var_dump($attribute->getFrontend()->getValue($product));
nhưng điều này trả về null.
Vậy làm thế nào để tôi có được giá trị của thuộc tính?
Tôi đã thử những điều sau: Nhận thuộc tính cụ thể cho từng sản phẩm trên trang danh mục
Xuất thuộc tính văn bản tùy chỉnh trong danh sách danh mục.phtml (Magento 2)