0

我必须为所有类别重新生成所有 url 键。当我添加一些主要类别时,我使用论坛中的一种方式复制了它们。一切正常,但是当我复制大约 2 万个类别时,我看到:当名称有波兰字母时,其余部分被剪切:示例:类别名称:Części karoseryjne 应该是:czesci-karoseryjne 复制后:cz

类别名称:Próg zwalniajacy 应为:prog-zwalniajacy 复制后:pr

我在波兰论坛上找到了修复它的方法(使用波兰字母),但它仅适用于新添加的类别。现在,当我选择任何类别时,清除 url-key 并单击保存 - 命名没问题,但是.......有 20k 个类别......有人可以写下如何修复它吗?

4

1 回答 1

0

http://www.errorin.com/open-source/how-to-add-category-programmatically-in-magento-1-7-0-with-custom-field/

require_once 'app/Mage.php';
Mage::app('default'); // Default or your store view name.

//get a new category object
$category = Mage::getModel('catalog/category');
$category->setStoreId(0); // 0 = default/all store view. If you want to save data for a specific store view, replace 0 by Mage::app()->getStore()->getId().

//if update
if ($id) {
  $category->load($id);
}

$general['name'] = "My Category";
$general['path'] = "1/2/23"; // catalog path
$general['description'] = "Great My Category";
$general['meta_title'] = "My Category"; //Page title
$general['meta_keywords'] = "My , Category";
$general['meta_description'] = "Some description to be found by meta search robots. 2";
$general['landing_page'] = ""; //has to be created in advance, here comes id
$general['display_mode'] = "PRODUCTS_AND_PAGE"; //static block and the products are shown on the page
$general['is_active'] = 1;
$general['is_anchor'] = 0;
$general['page_layout'] = 'two_columns_left';

//$general['url_key'] = "cars";//url to be used for this category's page by magento.
//$general['image'] = "cars.jpg";


$category->addData($general);

try {
    $category->save();
    echo "Success! Id: ".$category->getId();
}
catch (Exception $e){
    echo $e->getMessage();
}
于 2013-08-22T13:47:29.387 回答