我正在为我的一位客户将数据从 oscommerce 导入到 magento。
产品、品类、客户等所有数据均已成功导入。剩下的最后一件事是在设置类别后添加产品分类号。
我需要以下步骤:
导入产品 -> 为产品分配类别 -> 从 oscommerce 表中设置产品排序顺序(显示顺序)。
我搜索了很多,但我找不到在特定类别中设置产品排序顺序的方法。
任何帮助将不胜感激。
我正在为我的一位客户将数据从 oscommerce 导入到 magento。
产品、品类、客户等所有数据均已成功导入。剩下的最后一件事是在设置类别后添加产品分类号。
我需要以下步骤:
导入产品 -> 为产品分配类别 -> 从 oscommerce 表中设置产品排序顺序(显示顺序)。
我搜索了很多,但我找不到在特定类别中设置产品排序顺序的方法。
任何帮助将不胜感激。
默认情况下,产品在类别中的排序顺序由管理类别部分的“类别产品”选项卡中的位置列确定。
我想您需要批量更新每个类别产品的排序顺序。假设您可能需要编写一个 php 脚本,该脚本可以使用 sql 查询更新数据库中表 'catalog_category_product' 中的 'position' 列。
文件可以保存在您的 magento 安装的根目录中。下面的代码只是给出一个想法,您需要修改/添加/删除代码才能根据您的要求完成它,然后从浏览器中点击文件。
<?php
$mageFilename = 'app/Mage.php';
require_once $mageFilename;
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
umask(0);
Mage::app('admin');
Mage::register('isSecureArea', 1);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
set_time_limit(0);
ini_set('memory_limit','1024M');
/***************** UTILITY FUNCTIONS ********************/
function _getConnection($type = 'core_read'){
return Mage::getSingleton('core/resource')->getConnection($type);
}
function _getTableName($tableName){
return Mage::getSingleton('core/resource')->getTableName($tableName);
}
function _updatePosition($position, $categoryId, $productId){
$connection = _getConnection('core_write');
$sql = "UPDATE " . _getTableName('catalog_category_product') . " ccp
SET ccp.position = ?
WHERE ccp.category_id = ?
AND ccp.product_id = ?";
$connection->query($sql, array($position, $categoryId, $productId));
}
希望这有帮助!