Форум русской поддержки Joomla!® CMS
11.12.2016, 00:28:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5   Вниз
  Добавить закладку  |  Печать  
Автор

CSVI импорт товаров - Ну никак.(РЕШЕНО!)

 (Прочитано 30074 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vtrcmert
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« : 06.07.2012, 11:22:29 »

Огромное спасибо товарищу "y0zheg"!!
Проблема описанная ниже решается следующим образом:
Надо добавить в ваш_сайт/administrator/components/com_csvi/csvi.php такую строчку:

setlocale(LC_ALL, 'ru_RU.utf8');

перед строчкой (она в самом начале файла):

defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' );

ссылка на сайт csvi где по английски рассказывается решение проблемы

Никаких старых версий Openoffice не потребовалось.
ЖДИТЕ МАНУАЛ ПО РАБОТЕ С CSVI!
_____________________________________________________
Доброго времени суток.

Joomla 2.5.6, CSVI 4.3
ситуация:
стандартные поля:
product_sku   product_name   product_price   category_id
1                        товар1           100                              1
2                       (товар2)          200                              2
3                       товар три        300                              3
4                       товар 4.          400                              4

итоги импорта:

product_sku   product_name   product_price   category_id
1                         пусто              100                              1
2                       (товар2)            200                              2
3                         три                 300                              3
4                           4.                 400                              4

Иными словами полностью(в основном) или частично(если есть доп символы типа скобок) проглатывает названия товаров.
Пробовал разную кодировку, разные разделители, я уже не знаю что пробовать кроме как заключить весь товар в скобки, но это не приемлемо.

Прошу помочь с проблемой. Поиск курил.

Страшно раздражает, что нет ни 1 мануала на русском языке, где четко и последовательно не объясняется как и что делать. Только общие никому не нужные описания.

P.S. Если удастся разобраться - напишу нормальный мануал в котором прокляну всех лентяев, т.к. это уму не постижимо что нет ни 1 мануала на русском за столько времени работы CSVI.
« Последнее редактирование: 12.12.2012, 17:46:09 от vtrcmert » Записан
 
vtrcmert
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #1 : 07.07.2012, 11:02:45 »

Ну что неужели ни у кого нет даже идей?
Записан
maxmaer
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 73


Молодой joomlaвод


« Ответ #2 : 13.07.2012, 12:02:00 »

Читай документация на оф. сайте.

Может что-то будет не так понятно сразу, зато там есть картинки, которые дополняют текст. + ты забыл ещё пару полей... И это поля не стандартные, а обязательные. Их больше. Посмотри в базе какие поля у тебя заполнены и сапоставь их с тем что в карточке товара, собственно, чего не хзватает, то и закидывай.

Записан
maxmaer
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 73


Молодой joomlaвод


« Ответ #3 : 13.07.2012, 12:02:57 »

+ ещё от настроек зависит, что поставл там...
Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #4 : 20.07.2012, 10:09:56 »

vtrcmert, если я правильно понял, у тебя нет ограничивающих символов? Хотя вряд ли. Так ни одна прога для работы с таблицами не сохранит (разве только ты сам в ручную файл готовил в текстовом редакторе).

На самом деле ничего сложного в импорте через CSV Improved нет.
Поделюсь своим bullet-proof вариантом (попытаюсь упростить для понимания тех, кто еще не работал с CSVI).

Для начала создаешь в Excel или OpenOffice Calc (кому как удобнее, однако OpenOffice будет нужен в любом случае, объясню дальше) файл со списком товаров.
В первой строке пишешь названия полей. Основной писок полей для VirtueMart можно посмотреть тут, либо в самом компоненте.
Дальше - на каждой строке прописываешь товары. Один товар - одна строка. Ячейки заполняешь в соответствии с заголовками полей (первая строка).
Когда товаров много - удобно закрепить первую строку, чтобы она не прокручивалась вместе с листом (для Excel 2007-2010 это вкладка Вид - Закрепить области - Закрепить верхнюю строку)
По твоему примеру я бы порекомендовал заменить category_id на category_path - в этом параметре можно указать список категорий с вложенностью. Тебе не придется создавать заранее категории в VirtueMart, они будут созданы автоматически.
Когда таблица с товарами будет готова, сохраняем ее и открываем в OpenOffice Calc.
Calc нам нужен потому, что он дает больше возможностей по настройке импорта/экспорта, чем Excel.

Еще раз проверяем в Calc все поля и выбираем Файл - Сохранить как, там выбираем "Текст CSV"
Кодировка указываем: Юникод UTF-8, разделитель поля: ^, разделитель текста: ~
В принципе, можно использовать другие разделители, но с такими (как были в первых версиях CSVI) больше вероятность, что такие символы не попадутся в названии товара, артикуле или описании.
Всё. Сохранили.

У тебя должен получиться примерно такой файл:
Код:
~product_sku~^~product_name~^~product_price~^~category_path~
~1~^~товар1~^~100~^~Категория~
~2~^~(товар2)~^~200~^~Категория/Вложенная категория~
~3~^~товар три~^~300~^~Категория~
~4~^~товар 4.~^~400~^~Категория~

Далее, топаем в админку, в CSVI - Process.
Если при установке были поставлены примеры шаблонов, то в "Select template to load" выбираем "Example VirtueMart product import" и тыкаем в кнопку "Load".

Настраиваем шаблон импорта (я опишу основные настройки, дальше - сами по вкусу).

Вкладка File:
Auto detect delimiters - в принципе, CSVI может попробовать сам определить, какие у вас в файле разделители/ограничители, но я на него не полагался ни разу, так что советовать не буду (хотите - проверьте сами).
Field Delimiter - ставим ^, или тот разделитель, который был указан при экспорте из Calc
Text Enclosure - ставим ~, или тот ограничитель, который был указан при экспорте из Calc
Use headers/nodes as configuration - ставим Да. Это очень важно - чтобы CSVI при импорте использовал названия полей, которые присутствуют непосредственно в файле импорта. Иначе он будет пытаться отыскать там поля, указанные в своем шаблоне импорта, а предварительно готовить файлы четко по шаблону очень не удобно.

Вкладка Options:
Language - ставим тот язык, для которого будет выполнен импорт. Так как VM2 - многоязычный магазин, можно создавать различные описания и названия товаров для различных языков. и хранятся они в разных таблицах в базе. В большинстве случаев это будет, скорее всего, Русский.

Ну в общем и всё с настройками, нужно только нажать на кнопку Apply сверху, чтобы настройки шаблона сохранились.
Далее, на этой же странице - Load from computer - тыкаем в обзор и загружаем свой подготовленный CSV файл.

Вот и всё.
Если что-то не получилось - описывайте конкретную проблему, будет время - постараюсь помочь.
« Последнее редактирование: 20.07.2012, 10:25:00 от d0ublezer0 » Записан
pliushkin
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #5 : 16.09.2012, 02:40:20 »

Здравствуйте! Проблема такая: нужно создать магазин винила. хочу сделать лейбл - производителем, страну - категорией производителей, т.к. бывает что лейбл один а страны разные. версия VirtueMart - 2.0.11, csvi - 4.3 free. не импортируется производитель. пробовал напрямую импортировать в базу эксель через navicat for mySQL - таблица не апдейтится и не сохраняется. поля mf_category_name, mf_name тупо не меняются. второй день сижу, уже VirtueMart удалил поставил, csvi также, хз что с ним. продукты более менее импортируются, но тоже нестабильно и без производителя. помогите пожалуйста.
Записан
pliushkin
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #6 : 16.09.2012, 02:47:46 »

upd: версия Joomla 2.5.7 на 2.5.6 тоже самое
разобрался. сначала все скопом экспортировал, из того что занеслось, вообще все поля, аккуратно все заполнил, без использования постоянных результатов типа Y в published, то есть забил все результаты, включая нули в самом прайсе, выловил блох с одинаковыми именами, и заработало. четыре дня сидел ..мать! появились другие вопросы, но это уже в другую тему.
« Последнее редактирование: 18.09.2012, 08:56:42 от pliushkin » Записан
vtrcmert
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #7 : 19.09.2012, 14:08:38 »

Я тоже постепенно разобрался в чем проблема. Но еще не достиг успеха.

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

У меня проблемы с русским в CSVI. Он полностью прописывает английские названия, но проглатывает часть слов/букв русских названий товаров.

Не знаю что за {censored} писал это, но придется как-то решать эту проблему.

Зачем только доверяют некоторым что-то писать. Самый первый  CSVI был сказкой. Указал в каком поле что написано и нажал импорт - все. Русский или английский - ей было все равно.
Нет надо написать новую хрень которая еще и работает неполноценно.
Лучше б доработали старый  CSVI под новые версии VirtueMart.

И да. Как разберусь напишу мануал - как обещал.
Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #8 : 19.09.2012, 14:38:53 »

Русский или английский - ей было все равно.
Новый VirtueMart - многоязычный магазин. Тут нужно обязательно указывать, к какому языку относится импорт.
Записан
vtrcmert
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #9 : 19.09.2012, 23:02:58 »

Новый VirtueMart - многоязычный магазин. Тут нужно обязательно указывать, к какому языку относится импорт.

В том и дело, что указываю.

В VirtueMart в настройках стоят языки русский и английский, при импорте/экспорте указываю язык русский, пробовал ставить английский(аля метод тыка)

Может вам известно место где еще указывается русский для правильного импорта? Буду благодарен за помощь.
Записан
pliushkin
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #10 : 20.09.2012, 04:07:55 »

В том и дело, что указываю.

В VirtueMart в настройках стоят языки русский и английский, при импорте/экспорте указываю язык русский, пробовал ставить английский(аля метод тыка)

Может вам известно место где еще указывается русский для правильного импорта? Буду благодарен за помощь.

я сделал так: полный экспорт продуктов из csvi. везде где нули сам проставил до конца, единицы, 424 также, чтобы csvi ничего сам не доделывал, импортнул, удалил поля на который заругался, импортнул еще раз и дело пошло!

поставьте в виртуемарте под русским галочку "использовать английсикй в полях которые не нашлись в русскмо переводе" и уберите английский из выбора выше
Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #11 : 20.09.2012, 08:15:54 »

Ну есть же рабочий метод, который не требует всех этих плясок. И всё нормально импортируется. Вы пробовали?
Записан
vtrcmert
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #12 : 20.09.2012, 20:03:24 »

Ну есть же рабочий метод, который не требует всех этих плясок. И всё нормально импортируется. Вы пробовали?

Я перепробывал наверное все что только мог придумать, и ваш метод в том числе. Если б он был успешен вы бы первый об этом узнали.

поставьте в виртуемарте под русским галочку "использовать английсикй в полях которые не нашлись в русскмо переводе" и уберите английский из выбора выше
Пробовал - не получилось.
Попробую полный экспорт/импорт сделать.

Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #13 : 20.09.2012, 20:38:38 »

vtrcmert, если не сложно, могли бы вы привести пример импортируемого файла, с которым у вас "не получилось" и описать, что конкретно не получилось?
Записан
vtrcmert
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #14 : 22.09.2012, 11:03:15 »

Скриншоты и файл импорта я разместил здесь

Изначально именами продуктов были китайские чаи и было много слов с 2 буквами. Потому, предполагая проблему с этим, я закинул в имена товаров сантехнику. Результат тот же. На скринах видно.

Файл импорта я брал непосредственно забив в ручную и экспортировав товары.
Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #15 : 22.09.2012, 11:57:00 »

vtrcmert, всё правильно, с большой вероятностью так и будет криво (судя по содержимому файла и настройкам импорта).
Прочитайте еще раз мое сообщение и сделайте всё как написано, прям по шагам - не должно быть проблем.
И еще один момент - разделитель целой/дробной части числа в ценах - при импорте укажите, какой он у вас (в файле импорта у вас запятая), а в VirtueMart по умолчанию используется точка.
Записан
vtrcmert
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #16 : 22.09.2012, 14:28:31 »

Учитывая, что по логике csvi не может экспортировать поля неправильно, предполагаю, что проблема в настройках, т.к. английские названия четко и полно прописываются и товары добавляются/обновляются как положено.

Будем пробовать еще(и по вашему описанию в т.ч.).

Да, и запятую в цене поставил VirtueMart при экспорте, но тоже попробуем(хотя вроде с ценой проблем нет - только с названиями).
Записан
morevsego
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #17 : 23.09.2012, 02:20:44 »

Тоже искал решение, помогло следующее:
Был установлен OpenOffice последней версии компании Apache - снес его, нашел версию до этой компании (версия 3.3.0), поставил, все сделал, как обычно - и все в порядке.
Сравнивая два csv разных версий, в Apache почему-то не было разделителя "~"

По теме: был прикол с ошибкой во время импорта - нужно в OO убрать галочку "поля как на экране"
Записан
pliushkin
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #18 : 23.09.2012, 03:13:29 »

в вашем файле не все поля. при экспорте нужно сделать quick add → check all → add fields → process
какие то поля обязательные (не знаю, какие, поэтому экспортирую и импортирую все, что есть) пока все работает, правда заполнены они у меня только на английском...
Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #19 : 23.09.2012, 12:26:06 »

Сравнивая два csv разных версий, в Apache почему-то не было разделителя "~"

По теме: был прикол с ошибкой во время импорта - нужно в OO убрать галочку "поля как на экране"
Тильду нужно ставить вручную.
Поля как на экране - как раз надо оставить.

Что касается в вашем файле не все поля. - ерунда. Еще раз прошу внимательно прочитать мою инструкцию - ясно же сказано, что при соответствующих настройках поля берутся из заголовков в первой строке. Не нужно заполнять все поля, достаточно заполнить только те, которые вам нужны на текущий момент.
В частности, обязательным полем является product_sku, остальное - по желанию. Если поле в файле импорта не существует, то оно будет заполнено значением по умолчанию.
Вполне достаточно для базового импорта использовать код товара, наименование, категорию, цену. Больше ничего.
Записан
karaegr
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #20 : 24.09.2012, 12:00:10 »

Я разобрался как обойти проблему с распознаванием русского текста...  Yes! Без всяких тильд... , легко и просто
Записан
morevsego
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #21 : 25.09.2012, 18:39:48 »

Я разобрался как обойти проблему с распознаванием русского текста...  Yes! Без всяких тильд... , легко и просто
Очень позновательно!
----------------------
Тильду при сохранении в новой версии OpenOffice я ставил. Однако, если открыть файл csv прогой Notepad+ никаких тильд не будет. Пользуюсь старой версией и все пучком.
----------------------
А поля при импорте вообще не указываю, нужно лишь указать в "Choose which import you want to do" - product import
Записан
satrv
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 48


« Ответ #22 : 30.09.2012, 23:08:05 »

Ребята а есть у кого киньте ссылку скачать пжл на последний бесплатный релиз CSVI 4.3 ?
Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #23 : 01.10.2012, 08:23:19 »

satrv, http://www.csvimproved.com/index.php?option=com_phocadownload&view=file&id=91:csvi-free-4-3&Itemid=138
(требуется регистрация)
Записан
satrv
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 48


« Ответ #24 : 01.10.2012, 16:53:20 »

Ок спасибо! а инструкция там хоть какая-то есть?
Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #25 : 01.10.2012, 16:57:27 »

satrv, Конечно
Записан
satrv
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 48


« Ответ #26 : 02.10.2012, 13:47:14 »

А где там можно настроить пользовательские поля файла импорта товара подетально? у меня что-то при попытке редактирования "Продукт импорт (импорт продуктов и их деталей)" - выкидывает...
К тому же боюсь что существующие товары перезапишутся неправильно...
Записан
Megos
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Сообщений: 192


« Ответ #27 : 02.10.2012, 23:03:43 »

Аналогичная проблема. Половину русских слов проглатывает.
Записан
Megos
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Сообщений: 192


« Ответ #28 : 03.10.2012, 00:08:11 »


На самом деле ничего сложного в импорте через CSV Improved нет.
Поделюсь своим bullet-proof вариантом (попытаюсь упростить для понимания тех, кто еще не работал с CSVI).

Для начала создаешь в Excel или OpenOffice Calc (кому как удобнее, однако OpenOffice будет нужен в любом случае, объясню дальше) файл со списком товаров.
В первой строке пишешь названия полей. Основной писок полей для VirtueMart можно посмотреть тут, либо в самом компоненте.
Дальше - на каждой строке прописываешь товары. Один товар - одна строка. Ячейки заполняешь в соответствии с заголовками полей (первая строка).
Когда товаров много - удобно закрепить первую строку, чтобы она не прокручивалась вместе с листом (для Excel 2007-2010 это вкладка Вид - Закрепить области - Закрепить верхнюю строку)
По твоему примеру я бы порекомендовал заменить category_id на category_path - в этом параметре можно указать список категорий с вложенностью. Тебе не придется создавать заранее категории в VirtueMart, они будут созданы автоматически.
Когда таблица с товарами будет готова, сохраняем ее и открываем в OpenOffice Calc.
Calc нам нужен потому, что он дает больше возможностей по настройке импорта/экспорта, чем Excel.

Еще раз проверяем в Calc все поля и выбираем Файл - Сохранить как, там выбираем "Текст CSV"
Кодировка указываем: Юникод UTF-8, разделитель поля: ^, разделитель текста: ~
В принципе, можно использовать другие разделители, но с такими (как были в первых версиях CSVI) больше вероятность, что такие символы не попадутся в названии товара, артикуле или описании.
Всё. Сохранили.

У тебя должен получиться примерно такой файл:
Код:
~product_sku~^~product_name~^~product_price~^~category_path~
~1~^~товар1~^~100~^~Категория~
~2~^~(товар2)~^~200~^~Категория/Вложенная категория~
~3~^~товар три~^~300~^~Категория~
~4~^~товар 4.~^~400~^~Категория~



При сохранении ^ вставляется , а тильда почему-то нет.
Записан
d0ublezer0
Давно я тут
****

Репутация: +29/-0
Offline Offline

Сообщений: 317

Javaхарлал Неру


« Ответ #29 : 03.10.2012, 08:46:40 »

При сохранении ^ вставляется , а тильда почему-то нет.
"Почему-то нет" где? В OpenOffice при сохранении не дает выбрать? Или файл сохраняется без них?
Записан
Страниц: [1] 2 3 4 5   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet