Magento为类别重新生成url-keys

时间:2013-08-22 08:56:25

标签: magento

我必须为所有类别重新生成所有url-keys。 当我添加一些主要类别时,我使用论坛中的一种方式复制它们。 一切都很顺利,但当我复制了大约20k类别时,我看到:当名字有波兰字母时,其余部分被切断: 例: 类别名称:Częścikaroseryjne 应该是:czesci-karoseryjne 复制后:cz

类别名称:Prógzwalniajacy 应该是:prog-zwalniajacy 复制后:pr

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

1 个答案:

答案 0 :(得分: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();
}