0

以前にカスタム属性を Magento データベースに大量にインポートしようとしたことがある人がいるかどうか疑問に思っていましたか? クライアントは楽器の販売を専門とする Magento ストアを経営しており、Google ショッピング フィードを追加して (Rocket Web によるその名前の拡張子を使用)、Google ショッピングで商品を販売したいと考えています。問題は、ショッピング フィードが機能するために MPN (製造元製品番号) とブランド (たとえば Gibson) の両方が必要であり、どちらも店舗の POS システムによって自動的にアップロードされないことです。

POS システムが現在機能する方法は、製品が追加されると、タイトル/SKU 番号/説明/価格などがすべて Magento ストアにアップロードされるため、クライアントは製品を 2 回追加する必要がありません。問題は、MPN とブランドは必ずしもすぐに使用できる属性ではないため、POS システムはこれらのいずれも Magento にアップロードしないことです。そのため、現在、それらのない商品が 1,000 個あり、それらは Google ショッピング フィード拡張機能にとって明らかに重要です。 .

現在、POS システムのローカル データベース (各製品には 3 つすべてが含まれています) から各製品の SKU、MPN、およびブランドのテーブルを取得する作業を行っていますが、取得したら私の質問は次のとおりです。現在 Magento データベースにある製品を参照し (両方のデータベースに各アイテムに対して同じ SKU が含まれているため、SKU による可能性が最も高い)、各製品に 2 つのカスタム フィールドを適用する簡単な方法があります: MPN とブランド? カスタム 'MPN' および 'cat-brand' 属性 (Google ショッピング フィードを使用してカスタム属性にマッピングできます) を作成し、Magento データベース内を調べましたが、どこにも見つかりませんでしたが、というテーブルが見つかりました「catalog_product_flat_1」は、インデックス作成などに使用されるフラット DB であると想像していますが、私が望むものを達成するには完璧に見えます。そのため、SKU を簡単に検索して、各製品の列として 2 つのカスタム属性を適用できました。とはいえ、そう簡単にはいかないだろうと何かが言っています。

お時間をいただきありがとうございます。

4

1 に答える 1

1

Magento は EAV データ モデルを使用します。つまり、属性は複数のテーブルに分割されます。すべてがどのように機能するかを知りたい場合は、名前に「entity」、「eav」、「attribute」、または「value」が含まれるテーブルを調べてください。

おそらく探しているのはcatalog_product_entity_varcharorcatalog_product_entity_textです。これらの表でentity_idは、 は製品 ID 番号 (SKU とは異なりますが、product_id を SKU にリンクできます) でありattribute_id、表に対応していeav_attributeます。

つまり、eav_attributeテーブルを見て、作成した MPN および cat-brand 属性のentity_type_id,attribute_idフィールドを取得し、データを に挿入できますcatalog_product_entity_varchar。(または_text、属性が代わりにそれを使用する場合)

于 2014-06-24T19:34:43.027 に答える