/** * Convert document date(UTC) fields to default scope specified * * @param \Magento\Framework\Api\Search\DocumentInterface $document * @param string $componentName * @return void */ public function convertDate($document, $componentName) { if (!isset($this->data[$componentName])) { return; } foreach ($this->data[$componentName] as $field) { $fieldValue = $document->getData($field); if (!$fieldValue) { continue; } $convertedDate = $this->localeDate->date(new \DateTime($fieldValue, new \DateTimeZone('UTC')), $this->locale, true); $document->setData($field, $convertedDate->format($this->dateFormat)); } }
/** * Returns row data * * @param DocumentInterface $document * @param array $fields * @param array $options * @return array */ public function getRowData(DocumentInterface $document, $fields, $options) { $row = []; foreach ($fields as $column) { if (isset($options[$column])) { $key = $document->getCustomAttribute($column)->getValue(); if (isset($options[$column][$key])) { $row[] = $options[$column][$key]; } else { $row[] = ''; } } else { $row[] = $document->getCustomAttribute($column)->getValue(); } } return $row; }