1

XML ドキュメントと OpenCart の新規インストールがあります。XML ドキュメントのコンテンツは次のとおりです。 http://pastebin.com/59WeK4Qkすべてのタグとその値をsimplexml()次のように取得できました。

$sxml = simplexml_load_file("products-sample.xml");

foreach($sxml->products->children() as $products)
{
    foreach($products->children() as $product)
    {
        echo 'Tag: '. $product->getName(). ' Value:' . $product.'<br />';
    }
    echo '<hr />';
}

しかし、私はopencartでのコーディング経験がないので、opencartデータベースの使用に関するガイドやチュートリアルがあるのだろうかと思っていました.

私の主な質問は、XML から解析した情報をどこに置くかということです。

4

2 に答える 2

3

OpenCart データベース テーブルには、ほとんどが一目瞭然の名前が付いていますが、見落としがちな重要な接続がありますoc_product_to_storeproduct_attributeやなどの一部は、product_discount正確なニーズに応じて無視できます。

OpenCart では、製品を複数のカテゴリや複数の店舗に配置することができ、一部のデータは複数の言語で表示される可能性があります。これらの 1 対多の接続には、個別のテーブルが必要です。同じ情報が複数の製品に共通であるため、_id でリンクされているメーカーのような単純な 1 対 1 の接続もあります。

ここに座ってデータのインポート スクリプトを無料で作成するつもりはありませんが、最近のインポート プロジェクトから学んだことをいくつか紹介します。

あなたの質問は「どのように」ではなく「どこで」であるため、スクリプト内で MySQL クエリを実行するための好ましい方法が既にあると仮定します。

これらは、カートに追加できるように、製品を OpenCart に入れるために INSERT で使用する必要があるテーブルとフィールドです。

  • oc_product : model, sku, upc, ean, jan, isbn, mpn, location, quantity, stock_status_id, manufacturer_id, shipping, price, tax_class_id_ date_available_ status_ date_added_ date_modified_image
  • oc_product_description : product_id, language_id, name, description, meta_description, meta_keyword_tag
  • oc_product_to_store product_idstore_id
  • oc_product_to_category product_idcategory_id

ID を検索して使用できるように、最初にカテゴリとメーカーを処理して追加する必要があります。

後で更新された XML ファイルを使用して製品を更新する必要がある可能性がまったくある場合は、、、、、、のいずれかを使用してsku、識別参照 (おそらく ) を保存する必要があります。upceanjanisbnmpncode

正しいフィールドと有効な値を特定するための 4 つの簡単な手順を次に示します。

  1. データベースのバックアップを (phpMyAdmin などを使用して) エクスポートし、テキスト ファイルに抽出します。
  2. OpenCart の管理機能を使用して XML から 1 つの製品を手動で追加します (適切な税クラスの設定を含め、完全かつ適切に)
  3. 再度エクスポートして抽出し、2 つのファイルを比較します (Beyond Compare などを使用)。
  4. 変更された各フィールドのフィールド タイプ (文字列の長さを含む) を注意深く調べ、_id が何に関連しているかを調べます。
于 2012-11-19T11:07:07.880 に答える