4

自分の商品を追加した店主のために、Magentoのインストールをセットアップしました。残念ながら、彼はURlキーフィールドを理解していませんでした。彼が製品を複製したため、各製品のURLは同じで、番号は/product-1234.html、次は/product-1235.htmlになります。彼はほぼ2kの製品を持っているので、すべてのURLキーを手動で調整するのは面倒です。ショップを台無しにすることなく、magento(またはDB上で直接)でこれをクリアする方法はありますか?1つの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 に答える