Example #1
0
 /**
  * Get date value as string.
  * Format can be specified, or it will be taken from $this->getFormat()
  *
  * @param string $format (compatible with \Magento\Framework\Stdlib\DateTime\Date
  * @return string
  */
 public function getValue($format = null)
 {
     if (empty($this->_value)) {
         return '';
     }
     if (null === $format) {
         $format = $this->getDateFormat();
         $format .= $format && $this->getTimeFormat() ? ' ' : '';
         $format .= $this->getTimeFormat() ? $this->getTimeFormat() : '';
     }
     return $this->_value->toString($format);
 }
Example #2
0
 /**
  * Preparing data and adding to rss object
  *
  * @param array $args
  * @return void
  */
 public function addSpecialXmlCallback($args)
 {
     if (!isset(self::$_currentDate)) {
         self::$_currentDate = new \Magento\Framework\Stdlib\DateTime\Date();
     }
     // dispatch event to determine whether the product will eventually get to the result
     $product = new \Magento\Framework\Object(array('allowed_in_rss' => true, 'allowed_price_in_rss' => true));
     $args['product'] = $product;
     $this->_eventManager->dispatch('rss_catalog_special_xml_callback', $args);
     if (!$product->getAllowedInRss()) {
         return;
     }
     // add row to result and determine whether special price is active (less or equal to the final price)
     $row = $args['row'];
     $row['use_special'] = false;
     $row['allowed_price_in_rss'] = $product->getAllowedPriceInRss();
     if (isset($row['special_to_date']) && $row['final_price'] <= $row['special_price'] && $row['allowed_price_in_rss']) {
         $compareDate = self::$_currentDate->compareDate($row['special_to_date'], \Magento\Framework\Stdlib\DateTime::DATE_INTERNAL_FORMAT);
         if (-1 === $compareDate || 0 === $compareDate) {
             $row['use_special'] = true;
         }
     }
     $args['results'][] = $row;
 }