2013-01-15 68 views
1

我經常到達構建新的Magento站點的地步,301站點需要爲舊站點上的所有項目創建301個重寫站點。有沒有直接導入它們的方法?導入url重寫爲magento

編程通過一個urlCreate()類型的Magento函數會很好,然後我可以通過一個csv循環。

回答

2

一般來說,堅持使用Magento的ORM與實體數據進行交互是一個不錯的主意,因爲可能存在業務邏輯和存儲邏輯被烘焙到實體ORM堆棧中(這對於EAV實體而言是衆所周知的)。但是,根據要輸入的記錄數量,直接到db的方法應該沒問題,尤其是如果它是一次性導入。這是因爲URL重寫是存儲在core_url_rewrite table (link)中的平面實體,並且該表本身具有必要的存儲邏輯作爲其結構的一部分(主要是唯一的request_path + store_id和用於core_store表的FK)。換句話說,在ORM層之外操作這些數據是可以的,因爲邏輯是表定義本身的一部分。

除此之外的信息,有可能加載了一個core/url_rewrite集合,從CSV創建core/url_rewrite實例,並將它們添加,然後在收集調用save(),但要注意,每個項目單獨保存。它可能會參考目錄實體和客戶的轉換適配器,這就是數據流的工作方式。