我已为添加了自己产品的店主设置了magento安装。 Unfortunataly他不了解URl的关键领域。当他复制产品时,每个产品现在都有相同的URL,增加的数字为/product-1234.html,下一个为/product-1235.html。由于他有近2k的产品,手动调整所有url键是一件麻烦事。有没有办法在magento(或直接在DB)清除这一点而不破坏商店。似乎如果我删除一个URL-key magento自动生成一个,这对我来说很好。
编辑:好的,我已经找到了如何通过清除数据库表(catalog_product_entity_varchar)中的某些字段来重置URL密钥,但现在我需要Magento使用产品名称创建新的字段。有什么想法吗?
感谢。
答案 0 :(得分:6)
这是一个甚至没有经过测试的快速方法。如果有很多产品可能需要很长时间,但它也会同时更新重写记录。将其复制到站点根目录中的.php文件中并执行它。
<?php
require 'app/Mage.php';
Mage::app();
$products = Mage::getModel('catalog/product')->getCollection();
foreach ($products as $product) {
$product->setUrlKey($product->getSku())
->save();
}
答案 1 :(得分:6)
最后使用以下代码修复它,建立在clockworkgeek的示例上。谢谢你!
<?php
require 'app/Mage.php';
Mage::app();
$amount = 0;
$model = Mage::getModel('catalog/product');
$products = $model->getCollection();
foreach ($products as $product) {
$model->load($product->getId());
$product->setUrlKey($model->getName())->save();
set_time_limit();
$amount++;
}