1

新しい Magento サイトを構築する際に、301 リライトで古いサイトのすべてのアイテムを作成する必要がある場合がよくあります。それらを直接インポートする方法はありますか?

プログラムで urlCreate() タイプの Magento 関数を使用しても問題ありません。そうすれば、csv を循環するだけで済みます。

4

1 に答える 1

2

エンティティORMスタックに組み込まれているビジネスロジックとストレージロジックの両方が存在する可能性があるため、通常、エンティティデータとのやり取りにはMagentoのORMを使用することをお勧めします(これはEAVエンティティによく当てはまります)。ただし、入力するレコードの数によっては、特に1回限りのインポートの場合は、dbへの直接アプローチで問題ありません。これは、URL書き換えがcore_url_rewriteテーブル(リンク)に格納されたフラットエンティティであり、テーブル自体がその構造の一部として必要なストレージロジック(主に、一意のrequest_path+store_idcore_storeテーブルのFK)を持っているためです。つまり、ロジックはテーブル定義自体の一部であるため、ORM層の外部でこのデータを操作することは問題ありません。

この情報以外に、コレクションをロードし、CSVからインスタンスをcore/url_rewrite作成して追加し、コレクションを呼び出すことができますが、各アイテムは個別に保存されることに注意してください。カタログエンティティと顧客の変換アダプタを参照することもできます。これがデータフローの仕組みです。core/url_rewritesave()

于 2013-01-15T12:18:52.503 に答える