4

我已经为添加了自己产品的店主设置了 magento 安装。不幸的是,他不理解 URl 键字段。当他复制产品时,现在每个产品都有相同的 URL,其编号递增 /product-1234.html,下一个是 /product-1235.html。由于他有将近 2k 的产品,手动调整所有 url 键会很麻烦。有没有办法在magento(或直接在DB上)清除这个而不破坏商店。似乎如果我删除一个 URL 键,magento 会自动生成一个,这对我来说很好。

编辑:好的,所以我找到了如何通过清除数据库表(catalog_product_entity_varchar)中的某些字段来重置 URL 键,但现在我需要 Magento 使用产品名称创建新字段。有任何想法吗?

谢谢。

4

2 回答 2

6

这是一个甚至没有经过测试的快捷方式。如果有很多产品可能需要很长时间,但它也会同时更新重写记录。将其复制到站点根目录中的 .php 文件中并执行它。

<?php
require 'app/Mage.php';
Mage::app();

$products = Mage::getModel('catalog/product')->getCollection();
foreach ($products as $product) {
    $product->setUrlKey($product->getSku())
            ->save();
}
于 2012-12-12T18:19:35.073 回答
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++;
}
于 2012-12-12T20:45:56.177 回答