Example #1
0
 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;
 }
Example #2
0
 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;
 }