Помогите Добавить Импорт Позиции Комбинации Опций

Начало было тут. Задача была другая, Даниил написал вот такой код для экспорта/импорта изображений для каждой комбинации опций.

Можно с помощью модуля сделать так, чтобы можно было экспортировать/импортировать изображения для каждой комбинации опций.

Для экспорта "Комбинации опций" будет добавлено два новых поля:
- Position - позиция комбинации.
- Image - изображение, тот же принцип что и с импортом изображений товаров.

Чтобы это сделать:
1. Создайте новый файл:
/app/addons/my_changes/schemas/exim/product_combinations.post.php

2. Добавляем в этот файл новый код:

<?php

// Новая настройка “Путь к папке с изображениями”

$schema[‘options’][‘images_path’] = array(
‘title’ => ‘images_directory’,
‘description’ => ‘text_images_directory’,
‘type’ => ‘input’,
‘default_value’ => ‘exim/backup/images/’,
‘notes’ => __(‘text_file_editor_notice’, array(‘[href]’ => fn_url(‘file_editor.manage?active_section=files&selected_path=/’))),
);

// Расширение схемы комбинаций, хитрая штука, которую сложно объяснить

$schema[‘export_fields’][‘Combination’][‘return_result’] = true;

// Новое поле “Position”, чтобы задавать порядок комбинаций
$schema[‘export_fields’][‘Position’] = array(
‘db_field’ => ‘position’,
);

// Новое поле “Image”, чтобы экспортировать и импортировать изображения.
$schema[‘export_fields’][‘Image’] = array(
‘process_get’ => array(‘fn_my_exim_get_combination_image’, ‘#key’, ‘#row’ , ‘@images_path’, ‘#lang_code’),
‘process_put’ => array(‘fn_my_exim_put_combination_image’, ‘#this’, ‘#row’, ‘@images_path’),
‘linked’ => false, // this field is not linked during import-export
);

return $schema;

/*
Функция экспорта изображений
$key - id товара
$row - строка с данными из CSV файла
$image_pat - настройка “Путь к папке с изображениями”
$lang_code - код языка
*/
function fn_my_exim_get_combination_image($key, $row, $image_path , $lang_code) {

$image_id = db_get_field(
	"SELECT a.detailed_id FROM ?:images_links as a " .
	"LEFT JOIN ?:product_options_inventory as b ON b.combination_hash = a.object_id " .
	"WHERE b.combination = ?s AND a.object_type = ?s", $row['Combination'], 'product_option');

if (!empty($image_id)) {
	$path = fn_export_image($image_id, 'detailed', $image_path);
	return $path;
} else {
	return '';
}

}

/*
Функция Импорта изображений
$image - Название или полный путь к изображению из колонки Images CSV
$row - строка с данными из CSV файла
$image_path - настройка “Путь к папке с изображениями”
*/
function fn_my_exim_put_combination_image($image, $row, $image_path) {

$hash = db_get_field("SELECT combination_hash FROM ?:product_options_inventory WHERE combination = ?s AND product_id = ?i", $row['combination'], $row['product_id']);

fn_import_images($image_path, '', $image, '0', 'M', $hash, 'product_option');

}

Теперь стоит другая задача.

Приходится врукопашную (не через генерацию комбинаций опций) добавлять некоторое количество комбинаций.

При этом у всех комбинаций порядок = 0. А если комбинаций больше десятка, да еще они в беспорядке расположены, неудобно работать с ними при необходимости корректировки остатков вручную, например.

Вот и вопрос: как доработать эту схему так, чтоб была возможность не только экспортировать порядок комбинаций, а и после правки csv импортировать их на место! А то у меня экспортировать после внесения предложенных Даниилом изменений получается, а вот импортировать — никак. А очень нужно!

:-(