/** * Converts map array to microdata Object * * @param array $map map array returned by the generator * @return null|Varien_Object */ protected function _createRowObject($map) { if (empty($map['price']) || empty($map['availability']) || empty($map['title'])) { return null; } $microdata = new Varien_Object(); $microdata->setName($map['title']); $microdata->setId($map['id']); if (!empty($map['sale_price'])) { $price = $map['sale_price']; } else { $price = $map['price']; } $microdata->setPrice(Zend_Locale_Format::toNumber($price, array('precision' => 2, 'number_format' => '#0.00'))); $microdata->setCurrency(Mage::app()->getStore()->getCurrentCurrencyCode()); if ($map['availability'] == 'in stock') { $microdata->setAvailability('http://schema.org/InStock'); } else { $microdata->setAvailability('http://schema.org/OutOfStock'); } if (array_key_exists('condition', $map)) { if (strcasecmp('new', $map['condition']) == 0) { $microdata->setCondition('http://schema.org/NewCondition'); } else { if (strcasecmp('used', $map['condition']) == 0) { $microdata->setCondition('http://schema.org/UsedCondition'); } else { if (strcasecmp('refurbished', $map['condition']) == 0) { $microdata->setCondition('http://schema.org/RefurbishedCondition'); } } } } return $microdata; }