public function init($vStoreCode, $vFeedname, Mage_Core_Model_Config_Element $oConfig, Mage_Core_Model_Config_Element $oFields) { parent::init($vStoreCode, $vFeedname, $oConfig, $oFields); // Bail if there are issues creating the output file. if ($this->getFilename() === false) { return false; } else { // Open the output file $vFileName = $this->getFilename(); $oIo = new Varien_Io_File(); $oIo->open(array('path' => dirname($vFileName))); $oIo->streamOpen($vFileName); $this->setStreamWriter($oIo); } if ($oConfig->delimiter) { $this->setDelimiter(str_replace("\\t", "\t", (string) $oConfig->delimiter)); } if ($oConfig->enclosure) { $this->setEnclosure((string) $oConfig->enclosure); } return $this; }
public function init($vStoreCode, $vFeedname, Mage_Core_Model_Config_Element $oConfig, Mage_Core_Model_Config_Element $oFields) { parent::init($vStoreCode, $vFeedname, $oConfig, $oFields); // Bail if there are issues creating the output file. if ($this->getFilename() === false) { return false; } // Open the output file $vFileName = $this->getFilename(); $this->_oXmlWriter = new XMLWriter(); $this->_oXmlWriter->openUri($vFileName); //Write rss version $this->_oXmlWriter->startElement('rss'); $this->_oXmlWriter->writeAttribute('version', '2.0'); $this->_oXmlWriter->writeAttribute('xmlns:g', 'http://base.google.com/ns/1.0'); // Write Atom feed header for Google Shopping $this->_oXmlWriter->startElement('feed'); $this->_oXmlWriter->writeElement('title', Mage::app($vStoreCode)->getDefaultStoreView()->getFrontendName()); $this->_oXmlWriter->startElement('link'); $this->_oXmlWriter->writeAttribute('rel', 'self'); $this->_oXmlWriter->writeAttribute('href', Mage::getUrl()); $this->_oXmlWriter->endElement(); $this->_oXmlWriter->writeElement('updated', date(DATE_ATOM)); // Map array keys to XML tags $aTagMap = array(); foreach ($oFields->children() as $vKey => $oNode) { if ((string) $oNode->xml_tag) { $aTagMap[$vKey] = (string) $oNode->xml_tag; } elseif ((string) $oNode->header) { $aTagMap[$vKey] = (string) $oNode->header; } else { $aTagMap[$vKey] = $vKey; } } $this->_aTagMap = $aTagMap; return $this; }