2

ネイティブの Magento インポート (システム/インポート/エクスポート/インポート) で使用する作業 CSV 構造を作成しました。

これは私の構造の例で、最初のものに基づいた単純な製品と構成可能な製品があります。

"sku","_store","_attribute_set","_product_websites","_type","name","price","special_price","news_from_date","news_to_date","tax_class_id","short_description","description","meta_description","meta_keyword","meta_title","_root_category","_category","has_options","color","talla","coleccion","composition","prestaciones_tecnicas","tejido_tecnico","_links_upsell_sku","image","small_image","thumbnail","status","visibility","weight","qty","is_in_stock","_media_attribute_id","_media_image","_media_lable","_media_position","_media_is_disabled","_super_products_sku","_super_attribute_code","_super_attribute_option"
"1601127-A-NEGRO/ROJO FUEGO-S",,"CustomAttrs","base","simple","CHALECO NAREM - A-NEGRO/ROJO FUEGO - S","81.95","",,,"0","Blabla blabla","Blabla blabla",,,,"Default Category","MUJER/PRENDA/CHALECO","0","A-NEGRO/ROJO FUEGO","S",,,,,,,,,"1","1","0","1","1",,,,,,,,
"1601127-A-NEGRO/ROJO FUEGO-M",,"CustomAttrs","base","simple","CHALECO NAREM - A-NEGRO/ROJO FUEGO - M","81.95","",,,"0","Blabla blabla","Blabla blabla",,,,"Default Category","MUJER/PRENDA/CHALECO","0","A-NEGRO/ROJO FUEGO","M",,,,,,,,,"1","1","0","2","1",,,,,,,,
"1642238-A-NEGRO/ROJO FUEGO-S",,"CustomAttrs","base","simple","CHAQUETA SERKA - A-NEGRO/ROJO FUEGO - S","97.35","",,,"0","Blabla blabla","Blabla blabla",,,,"Default Category","MUJER/PRENDA/CHAQUETA","0","A-NEGRO/ROJO FUEGO","S",,,,,,,,,"1","1","0","2","1",,,,,,,,
"1642238-A-NEGRO/ROJO FUEGO-M",,"CustomAttrs","base","simple","CHAQUETA SERKA - A-NEGRO/ROJO FUEGO - M","97.35","",,,"0","Blabla blabla","Blabla blabla",,,,"Default Category","MUJER/PRENDA/CHAQUETA","0","A-NEGRO/ROJO FUEGO","M",,,,,,,,,"1","1","0","1","1",,,,,,,,
"1601127",,"CustomAttrs","base","configurable","CHALECO NAREM","81.95","","2013-04-29 00:00:00","2013-05-29 00:00:00","0","Blabla blabla","Blabla blabla","Blabla blabla","CHALECO,CORTAVIENTOS,REPELENCIA AL AGUA","CHALECO NAREM","Default Category","MUJER/PRENDA/CHALECO","1",,,"CITY CYCLING","",,,,"","","","1","4",,,,"88","","","1","0",,,
,,,,,,,,,,,,,,,,"Default Category","MUJER",,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,"Default Category","MUJER/PRENDA",,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,"ACTIVE SOFTSHELL",,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"transpirable",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"stretch",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"costuras flatlock",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"tratamiento anti uv",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"Repelente al agua",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1601127-A-NEGRO/ROJO FUEGO-S","talla","S"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1601127-A-NEGRO/ROJO FUEGO-S","color","A-NEGRO/ROJO FUEGO"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1601127-A-NEGRO/ROJO FUEGO-M","talla","M"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1601127-A-NEGRO/ROJO FUEGO-M","color","A-NEGRO/ROJO FUEGO"
"1642238",,"CustomAttrs","base","configurable","CHAQUETA SERKA","97.35","","2013-04-29 00:00:00","2013-05-29 00:00:00","0","Blabla blabla","Blabla blabla","Blabla blabla","CHAQUETA,CORTAVIENTOS,REPELENCIA AL AGUA","CHAQUETA SERKA","Default Category","MUJER/PRENDA/CHAQUETA","1",,,"CITY CYCLING","",,,,"","","","1","4",,,,"88","","","1","0",,,
,,,,,,,,,,,,,,,,"Default Category","MUJER",,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,"Default Category","MUJER/PRENDA",,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,"ACTIVE SOFTSHELL",,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"transpirable",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"stretch",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"costuras flatlock",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"tratamiento anti uv",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,"Repelente al agua",,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1642238-A-NEGRO/ROJO FUEGO-S","talla","S"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1642238-A-NEGRO/ROJO FUEGO-S","color","A-NEGRO/ROJO FUEGO"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1642238-A-NEGRO/ROJO FUEGO-M","talla","M"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1642238-A-NEGRO/ROJO FUEGO-M","color","A-NEGRO/ROJO FUEGO"

インポートは正常に機能し、エラーは発生しません。しかし、奇妙なことが起こります。いくつかのカスタム属性を作成しました。それらのいくつかは選択可能な値が 1 つのみの属性ですが、複数選択値を持つ 2 つの属性があり、これら 2 つが問題のある属性です (prestaciones_tecnicas & tejido_tecnico)。

インポート後、インデックスを再作成し、キャッシュとすべてを消去します...フロントエンドで製品の詳細に移動すると、情報が表示されない2つの複数選択属性を除いて、すべてが正常であることがわかります. これらの属性の Zend_Debug::dump() を作成すると、空になります。しかし驚くべきことに、Magento の管理者で製品を編集すると、これらの属性が正しく表示され、対応する値 (CSV で指定した値) が選択されます。

さらに奇妙なのは、単純にこれらの製品の 1 つを編集して (何も変更せずに) 保存すると、それらの属性が魔法のようにフロントエンドで正常に表示されることです!!! そして、私は何も変えません!編集して保存するだけ!

何か案が?私はたくさんの製品を持っています...そして、1つずつ編集/保存することは、私にとって可能な解決策ではありません...

とてもありがたい!

4

2 に答える 2

2

この問題の解決策として MAGMI が言及されておらず、ネイティブの magento データフロー プロファイルの優れた代替手段であることに誰も言及していないのはなぜだろうか。これは、あらゆる種類の magento インポートに非常に強力なツールです。wiki.magmi.org ですべての機能を確認できます。

構成可能な製品は、1 行の csv ファイルから非常に簡単に作成できます。以下に例を示します。

 type           configurable_attributes   super_attribute_pricing
 configurable   size,color                size::L:12;XL:15,color::red:10;green:15


また、複数選択属性は問題なくインポートできます。これは、多くの人によってテストされています。例えば:

 sku       name      description       price     Size:multiple:1
 T-Shirt1  T-Shirt   A T-Shirt         5.00      Small|Medium|Large
 T-Shirt2  T-Shirt2  Another T-Shirt   6.00      XS|S|M|L|XL

この例では、カスタム オプションを含む 2 つの製品が作成されます。カスタム オプションは、複数選択タイプの「サイズ」であり、選択に必要です (末尾の「1」)。各商品には、1つ目の商品がS/M/L、2つ目の商品がXS/S/M/L/XLのサイズがあります。

これは、2 つの基本機能に関する簡単なヒントにすぎません。

そのため、MAGMI を magento のインポート ツールとして検討することを強くお勧めします。

また、有料の拡張機能を検討している場合は、ここに素晴らしい拡張機能があります。これは、プレーンな magmi のようにインポートするだけでなく、製品データを magmi 形式でエクスポートすることもサポートする MAGMI の ui ラップです。CSV の代わりに Google スプレッドシートで動作し、magmi 構文に従ってヘッダー付きの csv 列にデータをエクスポートします。

于 2014-09-27T12:05:18.027 に答える
0

問題は、標準の Magento インポートでは複数選択属性のすべてのオプションが別々の行に必要なことです。正しく設定された製品をエクスポートすると、それがわかります。

残念ながら、これにより他のソフトウェアとの互換性が大幅に低下します。

しかし幸いなことに、これにはプラグインがあります: http://www.magentocommerce.com/magento-connect/import-products-categories-multiple-images-and-custom-options.html

お役に立てれば。幸運を!

アップデート:

拡張機能に小さなバグがあります。複数のストア サイトとの組み合わせでのみ可能です。引き続き category_ids をインポートできます (readme には記載されていません) が、カテゴリ名をインポートするとクラッシュします。バグは、このファイルの関数 _addCategories() のどこかにあるようです。

\app\code\community\CapacityWebSolutions\ImportProduct\Model\Convert\Adapter\Product.php ストア ID に問題がある可能性があります。そのため、複数店舗のサイトでのみ発生する可能性があります。

残念ながら、この関数を正しく設定できなかったため、回避策を講じる必要がありました。

カテゴリを作成しなくなりましたが、既に設定されているカテゴリに確実にインポートされます。上記のファイルの 95 ~ 105 行を次のように置き換えました。

    if (isset($importData['category_ids'])) {
        $product->setCategoryIds($importData['category_ids']);
    }
     /*    if category name is in csv file        */
    if (isset($importData['categories'])) {

        $categoryIds = $this->_addCategories($importData['categories'], $store);
        if ($categoryIds) {
            $product->setCategoryIds($categoryIds);
        }
    }

これで(置換フィルターはもちろん国固有であり、おそらくmysqlクエリのattribute_idは動的でなければなりません...):

      // NM5 translate category names in category IDs ///////////////////
    if (isset($importData['categories'])) {

        $nm5_cat_names = preg_split('/,/',$importData['categories']);

        $nm5_read = Mage::getSingleton('core/resource')->getConnection('core_read');
        $nm5_cat_table = Mage::getConfig()->getTablePrefix().'catalog_category_entity_varchar';
        $originals = array('\'', '"', '\\', ';', '<', '>', '(', ')', '[', ']', '{', '}', '|', '$', '=', '%', 'Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', 'ß', ' - ', '  ', ' ', '_', '.', '?', '!', '³', ',', '„', '“', '+', '-–-', '–-' );
        $replacements =    array('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Ae', 'Oe', 'Ue', 'ae', 'oe', 'ue', 'ss', '-', '-', '-', '-', '', '', '', '3', '-', '', '', '-plus', '-', '-' );
        $nm5_i = 0;

        while($nm5_cat_names[$nm5_i] != '' ){
            $filtered_text = strtolower(str_replace($originals, $replacements, $nm5_cat_names[$nm5_i]));

            $nm5_results = $nm5_read->fetchAll("SELECT entity_id FROM $nm5_cat_table WHERE value LIKE '$filtered_text' and attribute_id = 51 group by entity_id");

            if($nm5_i > 0){ $categoryIds .= ','; }
            $categoryIds .= $nm5_results[0]['entity_id'];

            $nm5_i++;
        }

        // $categoryIds = $this->_addCategories($importData['categories'], $store);
        if ($categoryIds) {
            $categoryIds;
            $product->setCategoryIds($categoryIds);
        }

    }elseif(isset($importData['category_ids'])){

        $product->setCategoryIds($importData['category_ids']);

    }
    // NM5 translate category names in category IDs ///////////////////
于 2013-08-30T13:20:38.917 に答える