2010-11-30 10 views
2

商品を含むxmlファイルがあります。 ファイルの構造この:magentoにカスタムxmlファイルをインポート

<?xml version="1.0" encoding="iso-8859-2"?> 
    <service > 
    <product id="2476" sku="SA 177-2" category="51" visible="1" > 
    <title><![CDATA[Fedde Le Grand - OUTPUT]]></title> 
    <short><![CDATA[Fedde Le Grand presents OUTPUT...]]</short> 
    <long /> 
    <category><![CDATA[elektronika/dance/ambient]]></category> 
    <price>1600</price> 
    <vat>25</vat> 
    <image>200909/92917a17f143088ce219_20090907.jpg</image> 
    <actor><![CDATA[Fedde le Grand]]></actor> 
    <album><![CDATA[Output]]></album> 
    <label><![CDATA[CLS]]></label> 
    <type><![CDATA[Audio CD]]></type> 
    </product> 
    </service> 

私は、Magentoのの輸入制度を利用したいと思いますが、それは動作しません。プロファイルアクションXMLにマップを設定しました。このファイルの構造:

<action type="dataflow/convert_parser_xml_excel" method="parse"> 
    <var name="single_sheet"><![CDATA[]]></var> 
    <var name="fieldnames"></var> 
    <var name="map"> 
     <map name="product_category"><![CDATA[category_ids]]></map> 
     <map name="product_sku"><![CDATA[sku]]></map> 
     <map name="title"><![CDATA[name]]></map> 
     <map name="short"><![CDATA[short_description]]></map> 
     <map name="long"><![CDATA[description]]></map> 
     <map name="price"><![CDATA[price]]></map> 
     <map name="vat"><![CDATA[tax_class_id]]></map> 
     <map name="image"><![CDATA[image]]></map> 
     <map name="actor"><![CDATA[meta_description]]></map> 
     <map name="album"><![CDATA[meta_title]]></map> 
     <map name="label"><![CDATA[meta_keyword]]></map> 
     <map name="type"><![CDATA[samples_title]]></map> 
    </var> 
    <var name="store"><![CDATA[0]]></var> 
    <var name="number_of_records">1</var> 
    <var name="decimal_separator"><![CDATA[.]]></var> 
    <var name="adapter">catalog/convert_adapter_product</var> 
    <var name="method">parse</var> 
</action> 

.resultはFOUND 0 ROWSなので失敗しました。誰でも私を助けることができますか?私はこの問題を理解していません。 Greetings、Roland Dercsenyi

+0

これについてもっと詳しく知りたいですか? – chanz

答えて

1

独自のパーサークラスを作成し、高度なプロファイルを使用する必要があります。 convert_parser_xml_excelは、excel xml形式のファイルを必要とします。 Mage_Dataflow_Model_Convert_Parser_Xml_Excel :: parse()関数を見ると、あなたが持っているものとは違うxml形式が必要になることがわかります。

  1. を使用すると、ベースとしてXMLインポートプロファイルを使用して、独自のクラスを作成し、使用して機能を解析
  2. 高度なプロファイルを使用して、独自のパーサ関数を記述する必要があります。再開するに

    //excerpt from Mage_Dataflow_Model_Convert_Parser_Xml_Excel::parse() 
        $worksheet = $this->getVar('single_sheet', ''); 
    
          $xmlString = $xmlRowString = ''; 
          $countRows = 0; 
          $isWorksheet = $isRow = false; 
          while (($xmlOriginalString = $batchIoAdapter->read()) !== false) { 
           $xmlString .= $xmlOriginalString; 
           if (!$isWorksheet) { 
            $strposS = strpos($xmlString, '<Worksheet'); 
            $substrL = 10; 
            //fix for OpenOffice 
            if ($strposS === false) { 
             $strposS = strpos($xmlString, '<ss:Worksheet'); 
             $substrL = 13; 
            } 
    

    Mage_Dataflow_Model_Convert_Parser_Xml_Excelをデモとして

関連する問題