新しい Magento サイトを構築する際に、301 リライトで古いサイトのすべてのアイテムを作成する必要がある場合がよくあります。それらを直接インポートする方法はありますか?
プログラムで urlCreate() タイプの Magento 関数を使用しても問題ありません。そうすれば、csv を循環するだけで済みます。
新しい Magento サイトを構築する際に、301 リライトで古いサイトのすべてのアイテムを作成する必要がある場合がよくあります。それらを直接インポートする方法はありますか?
プログラムで urlCreate() タイプの Magento 関数を使用しても問題ありません。そうすれば、csv を循環するだけで済みます。
エンティティORMスタックに組み込まれているビジネスロジックとストレージロジックの両方が存在する可能性があるため、通常、エンティティデータとのやり取りにはMagentoのORMを使用することをお勧めします(これはEAVエンティティによく当てはまります)。ただし、入力するレコードの数によっては、特に1回限りのインポートの場合は、dbへの直接アプローチで問題ありません。これは、URL書き換えがcore_url_rewrite
テーブル(リンク)に格納されたフラットエンティティであり、テーブル自体がその構造の一部として必要なストレージロジック(主に、一意のrequest_path
+store_id
とcore_store
テーブルのFK)を持っているためです。つまり、ロジックはテーブル定義自体の一部であるため、ORM層の外部でこのデータを操作することは問題ありません。
この情報以外に、コレクションをロードし、CSVからインスタンスをcore/url_rewrite
作成して追加し、コレクションを呼び出すことができますが、各アイテムは個別に保存されることに注意してください。カタログエンティティと顧客の変換アダプタを参照することもできます。これがデータフローの仕組みです。core/url_rewrite
save()