Автор: Aurelien FOUCRET (aurelien.foucret@smile.fr)
Наследование: extends Smile\ElasticsuiteCatalog\Model\ResourceModel\Eav\Indexer\Indexer
Пример #1
0
 /**
  * Add price data to the index data.
  *
  * {@inheritdoc}
  */
 public function addData($storeId, array $indexData)
 {
     $priceData = $this->resourceModel->loadPriceData($storeId, array_keys($indexData));
     foreach ($priceData as $priceDataRow) {
         $productId = (int) $priceDataRow['entity_id'];
         $isOriginalPriceReliable = $this->isOriginalPriceReliable($indexData[$productId]['type_id']);
         $originalPrice = $priceDataRow['min_price'];
         $finalPrice = $priceDataRow['min_price'];
         if ($isOriginalPriceReliable) {
             if ($priceDataRow['price']) {
                 $originalPrice = $priceDataRow['price'];
             }
             if ($priceDataRow['final_price']) {
                 $finalPrice = $priceDataRow['final_price'];
             }
         }
         $indexData[$productId]['price'][] = ['price' => $finalPrice, 'original_price' => $originalPrice, 'is_discount' => $finalPrice < $originalPrice, 'customer_group_id' => $priceDataRow['customer_group_id']];
     }
     return $indexData;
 }