Magento以编程方式设置产品类别排序编号

Magento以编程方式设置产品类别排序编号,magento,magento-1.7,Magento,Magento 1.7,我正在为我的一个客户将数据从oscommerce导入magento 已成功导入所有数据,包括产品、类别和客户。剩下的最后一件事是在设置产品类别后添加产品分类号 我需要以下步骤: 从oscommerce表导入产品->为产品分配类别->设置产品排序顺序(显示顺序) 我搜索了很多,但找不到在特定类别中设置产品排序顺序的方法 任何帮助都将不胜感激。产品在类别中的排序顺序默认由“管理类别”部分“类别产品”选项卡中的“职位”列确定 我想您需要批量更新每个类别产品的排序顺序。假设您可能需要编写一个php脚本,

我正在为我的一个客户将数据从oscommerce导入magento

已成功导入所有数据,包括产品、类别和客户。剩下的最后一件事是在设置产品类别后添加产品分类号

我需要以下步骤:

从oscommerce表导入产品->为产品分配类别->设置产品排序顺序(显示顺序)

我搜索了很多,但找不到在特定类别中设置产品排序顺序的方法


任何帮助都将不胜感激。

产品在类别中的排序顺序默认由“管理类别”部分“类别产品”选项卡中的“职位”列确定

我想您需要批量更新每个类别产品的排序顺序。假设您可能需要编写一个php脚本,该脚本可以使用sql查询更新数据库中“catalog\u category\u 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));
} 

Hello div,感谢您的帮助,尽管从回答中我只能收集到这些值保存在catalog\u category\u产品中的知识。再次感谢。我只是想说明,当您完成产品导入和类别分配后,您只需制作一个脚本,从您的OsCommerce数据(您可能拥有的一些CSV格式)读取“产品id”和“排序顺序”,然后用正确的排序顺序填充magento的“目录类别产品”表。