我必须为所有类别重新生成所有url-keys。 当我添加一些主要类别时,我使用论坛中的一种方式复制它们。 一切都很顺利,但当我复制了大约20k类别时,我看到:当名字有波兰字母时,其余部分被切断: 例: 类别名称:Częścikaroseryjne 应该是:czesci-karoseryjne 复制后:cz
类别名称:Prógzwalniajacy 应该是:prog-zwalniajacy 复制后:pr
我在波兰论坛上找到了修复它的方法(使用波兰语字母),但它仅适用于新添加的类别。 现在,当我选择任何类别时,清除url-key并单击save - 命名即可,但.......有20k类别...... 有人可以写一下如何解决它吗?
答案 0 :(得分:0)
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();
}