Основной файл установленного компонента: administrator/components/com_csvi/classes/class.CSVI.php
В нём есть функция EraseVtables, стирающая 4 таблицы (_vm_product_category_xref, _vm_product, _vm_product_price, _vm_product_mf_xref), кому не нравиться - уберите.
Кто-то тут спрашивал, нельзя ли импортировать производителя и кол-во товаров. Так вот.
В class.CSVI.php есть одномерный массив CSVArray, с помощью которого построчно считывается ексельный файл *.csv.
Члены массива далее распихиваются по таблицам базы. Можно изменить порядок и места загрузки элементов массива на необходимые. С кол-вом товаров просто: это 17-ое поле в таблице _vm_product. Элемент массива с нужным номером ставим на 17-ое место в запросе $db->setQuery("INSERT INTO #__vm_product VALUES.
А вот производитель находится в другой таблице (_vm_manufacturer), его ещё линковать нужно с _vm_product и создавать каждого в VirtueMart.
Проще заюзать свободное поле из таблицы _vm_product. Например prod_s_desc (5-ое по счёту) описанным выше способом. Затем нужно в файле administrator/components/com_virtuemart/languages/common/russian.php заменить 'PHPSHOP_PRODUCT_DESC_TITLE' => 'Описание' на 'PHPSHOP_PRODUCT_DESC_TITLE' => 'Производитель'. Прилагаю изменённый файл class.CSVI.php, в нём загрузка картинок убита, но это можно исправить, поиграв с CSVArray )).
Последовательность загрузки такая:
1. Артикул
2. Наименование
3. Не используется, забить мусором
4. Не используется, забить мусором
5. Производитель
6. Наличие
7. Цена
8. Категория
Для того, чтобы всё в результате выглядело симпатично, нужно изменить ещё один файлик: components/com_virtuemart/themes/default/templates/browse/includes/browse_listtable.tpl.php. Он отвечает за порядок отображения колонок на сайте. Выглядеть будет так: Артикул - Наименование (Описание) - Производитель - Цена
Обсуждение и сам файл:
http://joomlaforum.ru/index.php?topic=41747.0Огромное спасибо Jkarter за компонент. Грамотно написан, да ещё с каментами.
[вложение удалено Администратором]