Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AttributeValueProvider.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
10 use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory as ProductCollectionFactory;
11 
16 {
20  private $productCollectionFactory;
21 
25  public function __construct(
26  ProductCollectionFactory $productCollectionFactory
27  ) {
28  $this->productCollectionFactory = $productCollectionFactory;
29  }
30 
39  public function getRawAttributeValue(int $productId, string $attributeCode, int $storeId = null):? string
40  {
41  $collection = $this->productCollectionFactory->create();
42  $collection->addIdFilter($productId)
43  ->addStoreFilter($storeId)
44  ->addAttributeToSelect($attributeCode);
45 
46  if ($collection->isEnabledFlat()) {
47  $data = $collection->getConnection()->fetchRow($collection->getSelect());
48  $attributeValue = $data[$attributeCode] ?? null;
49  } else {
50  $attributeValue = $collection->getFirstItem()->getData($attributeCode);
51  }
52 
53  return $attributeValue;
54  }
55 }
__construct(ProductCollectionFactory $productCollectionFactory)
getRawAttributeValue(int $productId, string $attributeCode, int $storeId=null)
$attributeCode
Definition: extend.phtml:12