2011-09-13 130 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