2013-11-11 1 views
0

Я импортирую данные из oscommerce в magento для одного из моих клиентов.Magento набор продуктов категория сортировка число программно

Все данные, включая продукты, категории и клиенты, были успешно импортированы. Последнее остается добавить номер сортировки продукта после установки их категорий.

мне нужно следующие шаги:

Импорт продуктов -> назначить категории для продукта -> установить продукт порядок сортировки (порядок отображения) из таблицы интернет-магазина.

Я много искал, но мне не удалось найти способ установить порядок сортировки продукта в определенной категории.

Любая помощь будет глубоко оценена.

ответ

1

Порядок сортировки товара в категории по умолчанию определяется столбцом позиции на вкладке «Категория продуктов» в разделе «Управление категориями».

Я думаю, вам нужно массовое обновление заказов сортировки по каждой категории. Предполагая, что вам может понадобиться написать сценарий php, который может обновить столбец «позиция» в таблице «catalog_category_product» в базе данных с помощью SQL-запросов.

Файл может храниться в корневом каталоге в вашей пурпурной установке. Ниже код просто для того, чтобы дать представление, вам нужно изменить/добавить/удалить код, чтобы выполнить его в соответствии с вашим требованием, а затем нажать на файл из своего браузера.

<?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)); 
} 

надеюсь, что эта помощь!

+0

Здравствуйте, div, спасибо за помощь, хотя из ответа я могу только собрать знания о том, что эти значения сохраняются в catalog_category_product. Еще раз спасибо. –

+0

Я просто попытался показать, что когда вы закончите с импортом и назначением продукта, вы можете просто создать скрипт, который будет читать «prod_id» и «sort_order» из ваших данных OsCommerce (какой-то формат CSV, который у вас может быть) и просто заполните таблицу «catalog_category_product» magento с правильными порядками сортировки. – div