2011-09-13 128 views
3

有沒有辦法修改或預先加載產品網址?我們正在研究一個大型網站(500 Iproducts),我認爲將它們全部「放入」根目錄變得非常混亂。我想組織一些更好的東西,在這種情況下,請將products/放在產品密鑰之前的url中。Magento更改產品URL

你會推薦什麼作爲將「products /」添加到url密鑰中的最乾淨和最好的方法?我想看看是否有任何建議,然後我把袖子捲起來並開始一些覆蓋。我曾嘗試設置URL密鑰,但是,當然,它會將/設爲-。我想這會發生。

回答

1

這將是棘手的問題。產品的URL以及產品類別都是在索引系統的深處生成的。當您保存作爲場景的產品或類別時,啓動的重新索引包括生成存儲在core_url_rewrite表中的若干個core/url_rewrite型號的任務。這些模型是什麼使「搜索引擎友好」的網址。因此,您需要找到該代碼,並在那裏添加自定義邏輯以生成正確的重寫模型。

然後您需要檢查URL助手以確保它們生成正確的URL。我不確定這些方法是否參考了重寫表(這很好),或者如果他們以預知的方式行事,那麼Magento的URL將如何構造)。

祝你好運。

+2

,以便隨時恢復到domain.com/product-url,如果幫助程序使用['getUrl ()'](http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/geturl_function_parameters)和'_use_rewrite'選項,然後查詢重寫表。我相信目錄助手已經這樣做了。 – clockworkgeek

+0

謝謝你的幫助!看起來好像我會爲我剪下我的作品:)。 –

0

要將產品添加到產品中,您需要創建一個名爲'products'的類別,然後將您的產品移動到那裏。這將是耗時的,但對於/ admin來說,這是很長遠的。 URL重寫索引將始終將/更改爲a - 否則。但Magento將始終在根源路徑下創建您的產品,因爲它更適合搜索引擎優化。創建比這更深的類別結構可能是一個好主意。我一直在爲超過500k商品的商店工作。

+0

我第二。此外,在將產品放入類別後,您可以隨時使用系統/配置/目錄/搜索引擎優化 - >使用產品URL的類別路徑 – Ovidiu

0

轉到app/code/core/Mage/Catalog/Model/Url.php,然後轉到函數_refreshProductRewrite 此函數在重新編譯數據時更新de產品URL。

在功能方面,構建陣列$ rewriteData,變化時: 'request_path'=> $ requestPath, 到: 'request_path'=>「產品/'.$ requestPath,

這將改變創建產品時的產品URL以及何時重新索引舊產品的數據。

+0

保存URL重寫錯誤時發生錯誤 不工作 – cweitat