Gruz
Moderator
   
Репутация: +153/-1
Offline
Пол: 
Сообщений: 1260
Бутылочку оставьте?
|
 |
« : 04.02.2011, 22:19:21 » |
|
Указывайте версию бравзера, этого расширения, Joomla, VirtueMart и пример предоставляйте прайса (ods и csv), когда задёте вопрос!---------------------- Версия для J1.7+ и VM2.0+ в разработке. Почему так долго? А пока....Для тех, кто ждёт версию для VM2 CSVI4.0 бесплатен и, похоже, не имеет проблем с таймаутами. Потому, это аспект уже не уникальный. В CSVI4.0 можно импоритовать настраиваемое поле, как минимум одно, вместе с товаром из одного прайса. Кому это подходит, не ждите тут! Оно того не стОит.
Текущая версия [СКАЧАТЬ]Требования: Органичения и т.п.Тестировалась с Joomla 1.5.22 + VirtueMart 1.1.6 и VirtueMart 1.1.7, 1.1.8, 1.1.9 А так же с Joomla 1.5.15 + VirtueMart 1.1.4 Тестировалось в Firefox (везде работает) и в IE8 (были случаи, когда AJAX не работает). В Chrome и Opera AJAX не работает корректно. Посему рекомендуется FireFoxРекомендовано к прочтению: - Что такое типы в VirtueMart (англ.): http://www.csvimproved.com/csvi-virtuemart-documentation/tutorials/product-types-import-tutorial.html
Читать до места: Upload product type names
Основные особенности, чего нет у других:- Таумауты не страшны, ибо используется редирект. То есть когда обработка приближается к таймауту, она себя сохраняет на сервер, перезапускает себе же и так до следующего таймаута. CSVI 1.9 часто вылетает по таймауту, ибо хостеры не жалуют многоминутное исполнение скрипта.
- Возможность продолжить прерванный импорт с места обрыва
- Возможность импортировать товары с типами, ценами для разных груп и дополнительными изображениями из одного прайса. CSVI требует несколько отдельных файлов. Другие импортеры вообще с типами не работают.
- Возможность обрабатывать данные из CSV в процессе импорта. Например, когда в таблице описание имеет разрывы строк, а вы хотите его автоматически преобразовать в HTML, то теперь это возможно.
УстановкаУстанавливаем компонент com_virtuemart_simple_csv_ x_x_x.zip. После инсталляции он предложит установиться в сам VM, что и надо сделать.
 Будет установлен компонент, плагин для принудительного использования на странице импорта mootools upgrade (необходим для AJAX), добавлены два файлы расширения в VM. ОбновлениеУстановить компонент сверху на старый. Как работать1. Правильно оформить CSV файл 2. Тепер в Компонентах под VirtueMart есть новый компонент.  Идём в импорт.  В общем случае ничего менять не надо. Если есть правильно сформированный файл, то или загрузить, или указать на директорию и запустить либо с аяксом либо с редиректом. Запуск по линкуВозможно запустить импорт перейдя по ссылке, в которой будет указан .csv файл, расположенный на сервере. Для этого вы должны быть залогинены в административной части. Ссылка должна иметь вид: http://yoursite.com/administrator/index.php?option=com_virtuemart&page=product.simple_csv&local_path=PATHTOFILE&start_now=1&use_ajax=1Где PATHTOFILE - путь к файлу относительно корня сервера или корня Joomla. Например: - /mnt/work/www/sandbox.com.us/www/media/price.csv
- media/price.csv
Или в полном варианте: - http://yoursite.com/administrator/index.php?option=com_virtuemart&page=product.simple_csv&local_path=/mnt/work/www/sandbox.com.us/www/media/price.csv&start_now=1&use_ajax=1
- http://yoursite.com/administrator/index.php?option=com_virtuemart&page=product.simple_csv&local_path=media/price.csv&start_now=1&use_ajax=1
Параметр &start_now=1 указывает, что надо начинать импорт после перехода по линку. Параметр &use_ajax=1 указывает, что импорт должен запускаться с помощью AJAX, а не редиректов. Формат файлаПримечание: Работаем в LibreOffice (раньше OpenOffice) Calc - бесплатном аналоге MS Office. По крайней мере MS Excel 2003 не умел ещё генерировать правильные CSV, понятные для функции PHP fgetcsv. Для того, чтобы правильно сформировать файл импорта, вы должны указать правильно заголовки. Разберём пример (Скачайте файл, чтобы был перед глазами: пример от urugvay). Мы имеем прайс такого вида (страница 1 в urugvay.ods):  Прежде всего в самой первой строке мы должны указать обработчик (или обрабатывающий модуль). Обработчик подскажет программе, какие дальше будут идти данные. Посмотреть какие есть обработчики можно в "Компоненты > VirtueMart импорт из CSV > Настройки псевдонимов"
 Заголовки вкладок и есть обработчиками. На рисунке первый обработчик Товары, второй Параметры, третий - Типы товаров и т.д. Скопируем наш прайс на второй лист документа и добавим первой строчкой имя обработчика, в нашему случае это Товары
 Теперь надо указать правильно названия колонок. Не трудно сопоставить, что колонка в оригинальном прайсе product_sku соответствует псевдониму Артикул в Обрабатывающем модуле ТоварыИ далее product_name => Наименование товара category_path => Категории product_price => Цена товара product_s_desc => Краткое описание product_desc => Полное описание product_special => Специальное предложение (Y/N)
Примечание: Вы можете переопределить псевдонимы в Настройках псевдонимов, и пользоваться новыми, указанными вами, названиями колонок. Так наши колонки и назовём (второй лист urugvay.ods )
 Сохраняем этот лист как .csv файл, указываем кодировку UTF-8, разделители и ограничители без крайней надобности не трогаем.
 В LibreOffice настройки сохранения файла:  Теперь идём в наш импорт и импортируем полученный файл urugvay.csvРезультаты в логе:
 Результаты среди других товаров в БД:
КатегорииВ колонке категории вы можете указывать путь к категории товара или несколько категорий, к которым пренадлежит товар. Например: Сыры по типу/Сыры твёрдые|Сыры по происхождению/Сыры голландскиеТовар будет отнёсён к двум категориям второго уровня. Можно указывать порядок товара в категории. Товары Артикул Категории m0240 Хлев::2|Свинарник m0241 Хлев::1|Свинарник
Для Категории товара m0240: В категории Хлев порядок товара 2, а в категории Свинарник порядок не указан Идентификатор категорииID категории в таблицах VirtueMart. Рекомендуется использовать колонку Категории, а не Идентификатор категории, как более удобоваримую для человека. Можно указывать порядок товара в категории. Например: Товары Артикул Идентификатор категории m0240 1::2|39 m0241 1::1|39
Для товара m0240 указано 1::2|39. Т.е. товар определён категорию 1 с порядком отображения 2 и в категорию 39 с неуказанным порядком. Цены для группы:Если колонка в Обрабатывающем модуле товары задана по умолчанию, то в прайсе колока должна быть такой: Правильно: Цена для группы "-default-" количество от 3 до 7Неправильно: Цена для группы "-default-" количество от 3Правильно: Цена для группы "-default-" 3 - 7Правильно: Цена для группы "-default-", 3 7Правильно: Цена для группы "-default-" Есть возможность указывать валюту товара через точку с запятой(начиная с версии импорта 1.0.19): Товары Артикул Цена для группы "-default-" Цена для группы "Gold" m0240 100;USD 800;UAH m0241 102;USD 424151324;RUR
Импорт дополнительных файлов и изображенийПРИМЕЧАНИЕ: импорт товаров для скачивания пока не поддерживаетсяЗадав колонку Дополнительные изображения для товара можно указывать изображения по форме (разделитель перенос строки): notifyarticlesubmit_backend.png::Підпис 1 NotifyArticleSubmit_boxed.png::Підпис 2 или (разделитель вертикальная черта) notifyarticlesubmit_backend.png::Підпис 1|NotifyArticleSubmit_boxed.png::Підпис 2 Файлы изображений перед импортом должны быть размещены в директорию components/com_virtuemart/shop_image/product/additional/Можно размещать в поддиректории, например components/com_virtuemart/shop_image/product/additional/pngfiles/ тогда в прайсе надо указывать имя файла вида pngfiles/notifyarticlesubmit_backend.png::Підпис 1Аналогично для колонки Дополнительные файлыЗначения поля вида eva.ods::Підпис 1 eva1.csv::Підпис 2 или eva.ods::Підпис 1|eva1.csv::Підпис 2 Дополнительные файлы должны размещаться в media/По поводу импорта свойств товара и типов, то их организация видна этом напримере. Открываем пример от tug в OpenOffice и смотрим. Пробуем импортировать прайс и смотрим на резлультат, сопоставляя с прайсом. Неиспользуемые колонки из прайсом можно удалять. Колонки, которые не сопоставлены псевдонимам, будут игнорироваться. Т.е. если колонка будет называться Моя дополнительная информация, то она будет игнорироваться при импорте. ПрепроцессорыЭто такие файлы php, которые дополнительно обрабатыват строки при импорте. Примущественно препроцессоры очень "индивидуальны", то есть заточены по конкретный прайс. Например, когда в таблице описание имеет разрывы строк, а вы хотите его автоматически преобразовать в HTML. Есть препроцессор, который из описания вида: Применение: • В системах водоснабжения. • Для перекачки чистых жидкостей, не содержащих абразивных при- месей и не агрессивных для нержавеющей стали. • универсальный насос для использования в быту, в промышленности, на садовых участках.
сделает базовый HTML <p>Применение:</p> <p>• В системах водоснабжения.</p> <p>• Для перекачки чистых жидкостей, не содержащих абразивных примесей и не агрессивных для нержавеющей стали.</p> <p>• универсальный насос для использования в быту, в промышленности, на садовых участках.</p>
Другим примером может быт ситуация, когда название товара нужно составить из нескольких колонок. Например имеем прайс: Артикул Название Модель Производитель 01 Пылесос АК-2 Артём 02 Пылесос АК-4 Артём
Препроцессором можно сделать так, что в результате импорта у товара будет название, к примеру: Купить Пылесос Артём АК-2 в КиевеИли же из прайса, в котором категории товаров указаны не у каждого товара, а перед группами товаров, сделать удобоваримый для импорта прайс. http://gruz.org.ua/images/stories/files/virtuemart_simple_csv/ss/ss_plus_byttehnika.odshttp://gruz.org.ua/images/stories/files/virtuemart_simple_csv/ss/ss_plus_byttehnika.csvЭтот препроцессор: sspricebyttehnika.php.zipРазделитель категорий тут (:), а не /, как обычно. Чтобы включить препроцессор, нужно зайти в настройки и указать файл, который лежит в administrator/components/com_virtuemart_simple_csv/preprocessorsНапример пример (ИЗТ) product_description.php Файл документирован (именно этот, в других комментарии не адекватные), не сложно разобраться при знании PHP на среднем уровне. Можно указывать несколько препроцессоров, тогда они будут обрабатывать каждую строчку прайса последовательно. Например одним препроцессором разукрасить описание HTML-тегами, а другим обработать название товара. Примеры:tugТовары с типами и атрибутамиНаиболее илюстративынй пример Разделитель категории / Препроцессора нет или product_description.php http://gruz.org.ua/images/stories/files/virtuemart_simple_csv/tug/tug.odshttp://gruz.org.ua/images/stories/files/virtuemart_simple_csv/tug/tug.csvevaТолько товары, типов нетРазделитель категории / Препроцессора нет http://gruz.org.ua/images/stories/files/virtuemart_simple_csv/eva/eva.odshttp://gruz.org.ua/images/stories/files/virtuemart_simple_csv/eva/eva.csvnasosyИмпорт товаров с типамиПрепроцессор: В результате название товара складывается из производителя и названия в прайсе Описание с переносами строк и списками красиво переводится в HTML Разделитель категории / Препроцессор nasos/nasos_product.php Пример на живом сайте: nasos4you.com.ua http://gruz.org.ua/images/stories/files/virtuemart_simple_csv/nasosy/nasosy.csvhttp://gruz.org.ua/images/stories/files/virtuemart_simple_csv/nasosy/nasosy.odsssИмпорт товаров с типами Препроцессор: Добавления базовых тегов в описание товара Если у товара не указан производитель или указан Other, то производитель товара определяется из его названия. например название: MB ASUS P7H55 iH55, s1156, DDR3, PCI-E 16x,SATA2, IDE,1GB, 8Ch,ATX,BOX Значит Asus Поле доступности товара: заменяет текстовый "Заказ", есть "Есть" и т.д. на соответствующие изображения. В поле "Изменение цены" в зависимости от указанной в прайсе латинской буквы, вписывает фразу по русски типа "цена возросла" !Разделитель категории (:) Препроцессор softservice/ssprice.php Результаты импорта тут: softservice.com.ua http://gruz.org.ua/images/stories/files/virtuemart_simple_csv/ss/ss.odshttp://gruz.org.ua/images/stories/files/virtuemart_simple_csv/ss/ss.csv Препроцессоры из постов на форуме- orchanin [СКАЧАТЬ]
Еще вопросец если можно сложно ли сделать препроцессор по замене артикула товара и названия! Т.е я пишу старый артикул новый артикул название цена гружу компонент меняет артикул цену и название а категория сохраняеться? Если это не сложно то готов оплатить (цена конечно имеет значение) В аттаче препроцессор и два тестовых файла. Подразумевается, что есть колонка со старым артикулом и новым. Перед импортом старый в БД заменяется на новый, а дальше всё идёт по накатанной схеме - ищется артикул из колонки "Артикул" и обновляется/добавляется товар. Два CSV делают замену артикула m0001 => a0001 m0002 => a0002 и наоборот. Для тестов. Результат видно если запустить один, а потом другой. По очереди. Код я документировал, вроде понятно и без этого. eva1.csv"Товары",,,,,,,, "Артикул","Старый артикул","Наименование товара","Категории","Цена товара","Краткое описание","Полное описание","Большое изображение","Маленькое изображение" "a0001","m0001","Массив","Кухни Классика",1,,,"http://www.lamarty.ru/netcat_files/i_lamarty/logo_lamarty.gif","http://www.lamarty.ru/netcat_files/i_lamarty/logo_lamarty.gif" "a0002","m0002","МДФ Премиум","Кухни Классика",1,,,"http://www.lamarty.ru/netcat_files/i_lamarty/logo_lamarty.gif","http://www.lamarty.ru/netcat_files/i_lamarty/logo_lamarty.gif"
eva2.csv "Товары",,,,,,,, "Артикул","Старый артикул","Наименование товара","Категории","Цена товара","Краткое описание","Полное описание","Большое изображение","Маленькое изображение" "m0001","a0001","Массив","Кухни Классика",1,,,"http://www.lamarty.ru/netcat_files/i_lamarty/logo_lamarty.gif","http://www.lamarty.ru/netcat_files/i_lamarty/logo_lamarty.gif" "m0002","a0002","МДФ Премиум","Кухни Классика",1,,,"http://www.lamarty.ru/netcat_files/i_lamarty/logo_lamarty.gif","http://www.lamarty.ru/netcat_files/i_lamarty/logo_lamarty.gif"
- Публикуем все товары, которые есть в прайсе (если есть такая потребность, но нет возможности указать всем товарам колонку Опубликован со значением Y) productpublish.zip [СКАЧАТЬ]
Пишу без тестов, возможны ошибки, но суть передаю. Назовём файл productpublish.php и положим в /administrator/components/com_virtuemart_simple_csv/preprocessors/productpublish.php Публикуем препроцессор (как - описано выше в документации).
- Пусто
ЧаВо:- Как импортировать изображения товара?
Изображения товара следует предварительно залить по FTP в папку components/com_virtuemart/shop_image/product для болших изображений, а так же, при надобности, в папку эскизов components/com_virtuemart/shop_image/product/resizedКомпонент не создаёт эскизов, а работает только с уже залиты ми изображениями! Для массового содзания эскизов воспользуйтесь http://www.mihov.com/eng/ir.htmlВ прайсе в колонках для Большого изображения и для Маленького изображения следует использовать ТОЛЬКО название файла. Не нужно писать resized/image.jpg, просто image.jpg - Как при импорте CSV прописывать только большую картинку, чтобы маленькая создавалась автоматически ?
Импорт автоматически эскиза не создаёт. По крайней мере пока. Можно сделать это препроцессором. Можно включить автоматическое создание картинок в самом VirtueMart. Можно перед импортом сгенерировать на локалке эскизы с помощью mihov image resizerПо-моему так будет даже лучше. CSVI умеет делать эскизы, может им воспользуйся лучше. Я лично заливаю только большие и правками шаблона ВМа и плагина smartimageresize делаю это автоматом, но это довольно сложно для неподготовленного человека. А пошагово расписать такие правки я не добрался. - А если у меня появились 2 новых поля в таблице vm_product! По сути при импорте каждый раз значения этих полей обнуляються !
Как сделать что бы компонент не трогал их и оставлял их значения в том виде в котором они есть? Вообщем-то я протестировал с версией компонента 1.0.18 и VirtueMart 1.1.9 и не нашёл, чтобы доп. поля обнулялись. Но на форуме было такое решение: Отправляемся в файл /administrator/components/classes/ps_simple_csv и в нем по аналогии с product_desc пишем где то после $this->product_arr['product_s_desc'] = $db->f('product_s_desc'); Вставляем то же самое только с именем своего поля типа так $this->product_arr['product_moepole'] = $db->f('product_moepole'); - Почему всё же стоит установить CSVI
У меня и virtuemart_simple_csv, и CSVI стоит. Нет задачи переплюнуть CSVI по всем параметрам. Например "Очистить базу VM" я пользуюсь из CSVI. Или экспорт - я не собираюсь делать, не потяну, а он уже отлично сделан в CSVI.
virtuemart_simple_csv имеет два основных достоинства - борьба с таймаутами и всё можно импортировать из одного файла.
- А как сделать, чтобы для доп.изображений генерировались миниатюры? (не путать с изображениями товара)
А галочку "Создавать эскизы для дополнительных изображений " не пробовал ставить? (-:
Только он создаёт эскиз при первом импорте. При втором не создаёт. А если ты поставишь "Удалять файлы которых нет в CSV", то он сначала удалит твой cdr, а потом попробует его присвоить товару.
Посему для доп. изображений я бы советовал оставить две колонки - артикул и доп. изображение, установить перед импортом "Удалять файлы которых нет в CSV" и галочку "Создавать эскизы для дополнительных изображений " и импортировать только их.
Логика немного корявая выходит, конечно. Но пока вроде только так. - Проясните, пожалуйста, ситуацию по поводу прикрепления файлов для скачивания.
Есть ли поле в обрабатывающем модуле Товары для скачиваемых файлов и каким образом прописать нужные для их хранения папки? Никак. Скачиваемые товары не работают пока. - При импорте информация в БД затирается?
Если в БД и прайсе для импорта есть товар с одинаковым артикулом, то при импорте поля в БД будут заменены полями, которые указаны в прайсе. Если в прайсе не указано поле, к примеру описание, то описание в БД не будет изменяться. Если указано - затрётся новым описанием.
Если артикула нет в БД, а есть в прайсе, то будет создан новый товар.
- Как при импорте товар сразу привязать к несколько категориям?
Т.е. есть дерево категорий 1-кат 2-кат 3-кат товар по умолчанию принадлежит категории 3-кат. но чтобы сразу появлялся список товара при выборе категории 1 или 2 нужно его приявязать к ним в карточке тогда пользователю отпадает проходить весь путь до товара (если ему нужно сразу просмотреть и заказать товар в старших категориях) чтоб его заказать Товар сразу в несколько категорий? кат1|кат1/кат2|кат1/кат2/кат3Будет во всех трёх. Это в документации описано. - Импортировал дополнительные изображения на localhost, а при переносе на сервер они не отображаются.
Исользовал компонент для импорта дополнительных изображений. Всё прошло нормально, но после переноса сайта на хостинг на flypage путь к дополнительным изображениям остался прежним (каким был на localhost). Никак не могу найти где этот путь изменить. Все остальные пути корректные, в том числе и на основные изображения товара. Проблема только с дополнительными. UPD: разобрался. При импорте на локалхосте в базу записались полные пути к дополнительныи изображениям и при переносе на хостинг такими и остались. Заменил все пути в базе с полных на относительные. Это недочёт компонента. - Импорт категорий и ID категории
Для начала пытаюсь загрузить Категории товаров. Вот кусок файла csv
'Категории товаров'|''|''|''|'' '№'|'Наименование'|'Описание'|'Опубликована'|'Родительская категория' '98'|'Пломбы алюминиевые ф 3.5мм 720 шт. 67,80гр.'|''|'Y'|'' '74'|'Шнурок'|'застежка из серебра 925 пробы'|'Y'|'' '76'|'Замок цепь'|'-'|'Y'|'' '122'|'Синт.Вставки'|'-'|'Y'|'76' '139'|'Зап. части род.'|'родирование 0,1мкм'|'Y'|'76'
Почему то при загрузке id категории не присваивается как я устанавливаю, а устанавливается по порядку. Наверное именно по этому не получается дерево категорий.
ID имеет смысл указывать, если он уже есть в БД. Нельзя создать категорию, товар или что-либо с указанным ID. Да и не нужно. Товар однозначно идентифицируется артикулом. Категория - путём от верхнего уровня. Если надо забить структуру категорий, я бы советовал импортировать один товар указав ему все возможные категории со структурой. Пока только так. Идентификаторы принудительно расширение не умеет выставлять. - цены на сайте отображаются с учетом налога 18%
Скачал пример прайса от tug'a. Переделал под себя. Все прекрасно импортируется. но цены на сайте отображаются с учетом налога 18%. В глобальных настройках VirtueMart все налоги отключены. Налоговых ставок нет. В админке в свойствах товара цена верная. Если заводить товар вручную, то цена также отображается правильно. Откуда берется наценка при импорте? Это скорее всего висит в сессии. Ты уже отключил налоги, но где-то в сессии оно сидит. Если перелогин не помогает, то попробуй убить сессию через phpMyAdmin в jos_sessions - Какой максимальный размер *.csv можно за раз загрузить?
Ограничений на файл импорта со стороны скрипта нет. Но сервер скорее всего ограничивает размер загружаемого за раз файл до 2 Мб. Потому есть возможность импорта из папки на сервере, куда файл заливается по FTP, там не ограничений.
Скрипт бъёт процесс импорта на итерации, чтобы вместиться в максимально допустимой время выполнения скрипта за раз. Но есть серверы, которые считают суммарную нагрузку от одного хоста за единцу времени и убивают процесс. Потому если скрипт работал активно минуту, то его прибивает, мол жрёт много слишком. Тут ничего не сделаешь, кроме смены хостера или плана. Но таких серверов относительно немного.
- При попытке добавить изображения к уже залитым товарам ничего не получаеться смотрю в базе поля product_thumb_image product_full_image пусты
Не хочу показаться навязчивым, но при попытке добавить изображения к уже залитым товарам на сайте (укаторых уже было большое и мальнькое изображение я их удалил) через файл csv в котором указан артикул название товара большая и маленькая картика (изображения загруженны и лежат в нужных папках), ничего не получаеться смотрю в базе поля product_thumb_image product_full_image пусты! Так задуманно или что то не так делаю прилагаю файл который гружу "Товары",,, "Артикул","Наименование товара","Большое изображение","Маленькое изображение" 1000,"Стиральная машина BOSCH WOR 16153 OE","_________________4dc2cf7215131.jpg","resized/_________________4dc2cf7215131.jpg"
Отвечаю на предыдущий вопрос снимаем галочку в настройки - сайт - Включить динамическое изменение размеров для мини-изображения? И заработало хоть и не совсем понятно почему - Как загружать типы (Точная формулировка: значения параметров типов товара)? В CSVI нужен отдельный файл...
Скажите пожалуйста, каким образом можно загрузить csv файл, с помощью которого товарам присваиваются параметры со значениями (при условии что параметры и значения уже загружены)? Пример файла (раньше грузился через csvi 1.8.1, но из-за таймаута хотелось бы грузить с помощью вашего компонента) Название 3го столбца а файле - это наименование параметра в базе (он уже загружен)
product_sku product_type_name proizvoditel 587364 Компьютеры_ ACER 587361 Компьютеры_ ACER 580005 Компьютеры_ ACER
В таком виде загружался через csvi... Ты про типы? Через этот импорт лучше загрузить одним файлом наново. Пример tug достаточно показателен. Разберись с ним. Если колонка будет называться Тип;Параметр, но значение ячейки будет пустым, то импорт ничего не сделает. И товару тип не соотнесёт. Товары Артикул Компьютеры_;Производитель 587364 ACER Вот примерно так. Но посмотри пример tug, там наиболее полно описано. - При загрузке прайса ставлю галочку на депубликации товаров, которых нет в прайсе. Депубликация происходит отлично! Но когда загружаю прайс, в котором уже присутствует депубликованный товар, он так и остается депубликованным.
Помогите разобраться. При загрузке прайса ставлю галочку на депубликации товаров, которых нет в прайсе. Депубликация происходит отлично! Но когда загружаю прайс, в котором уже присутствует депубликованный товар, он так и остается депубликованным. Как так сделать чтобы эти товары у меня обновлялись и были опубликованными? Если нет такой возможности, то может придумать, чтобы при обновлении прайса, отсутствующие товары не депубликовались, а обнулялось их количество на складе. А при появлении в прайсе - количество менялось! Заранее спасибо за внимание) Fondo, всё правильно. Он обновляет ту информацию, которая есть в прайсе, остальную не трогает. Варианты решения (один из них, не все три): - Пусто
Решение проблем:- Ошибка: Функция не зарегистрирована. product_simple_csv это неправильная функция VirtueMart.
- В журнале пишет #### Ошибка при открытии файла
При загрузке файла CSV в логе пишет: "2011-03-28 16:56:49 | Начало обработки CSV файла 2011-03-28 16:56:49 | #### Ошибка при открытии файла: /var/www/sevfort/data/www/707.sevfort.ru\tmp/si_20110328165649_export2.csv 2011-03-28 16:56:49 | Обработка CSV завершена Общее время выполнения: 0:00:00" При загрузке с помощью AJAX выдает: "Ошибка: Невозможно создать временный файл". Права на паки tmp 777. Банальные способы вроде переустановки или смены браузера ничего не дают. Помогите советом, кто может. Проблемы с доступом к файлам. Обычная причина - неправильно указаны пути в общей конфигурации ( http://joomla.org.ua/porady/54-yak-krashche-organizuvaty-robotu-z-joomla/294-pislja-perenesennja-sajtu-znykly-vsi-kartnky-ne-pracju-abo-chatkovo-pracjuje-adminka) Или хуже - хостинг так настроен, что пользователь FTP и пользователь Apache разные. Рекомендую в общей конфигурации включить FTP-слойю (это настроить FTP в общей конфигурации Joomla) В данном случае путь к папке tmp в файле конфигурации был прописан не совсем правильно - со слэшем в другую сторону.
- не работает AJAX, только перенаправление
Если пользуетесь FF (а в других бравзерах пока не работает), то проблема, скорее всего из-за конфликта с ява-скриптами каких-то системных плагинов. Пока единственным путём решения есть выключение конфликтных плагинов на время импорта. Замечено, например, для K2 и System - SocComments - Error Loading ModulesMySQL server has gone away SQL=SELECT id, title, module, position, content, showtitle, control, params FROM jos_modules AS m LEFT JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 1 ORDER BY position, ordering
Наблюдаем такое:  Проблема в разросшейся БД. Попробуйте в CSVI в Настроках выбрать "Удалить пустые категории". Он ещё там, вроде, как-то БД чистит. У меня сработало.  - -1 - Возникла ошибка
Невозможно скопировать выбранный файл.
Перекинь из administrator/components/com_virtuemart_simple_csv/files папки HTML и class в administrator/components/com_virtuemart_simple_csv
Результат: administrator/components/com_virtuemart/html/product.simple_csv.php administrator/components/com_virtuemart/html/admin.simple_csv_install.php
administrator/components/com_virtuemart/classes/ps_simple_csv.php - уставноил компонент, при входе в нег пишет "Проверка версии провалилась", что делать?
Это не критически. По какой-то причине, например мой сервер лежит, или у тебя хостинг не позволяет открывать удалённые файла, он не может проверить. На работоспособности это не отражается. - путь прописывается неправильно - вместо com_virtuemart/shop_image/product/resized/ прописывается com_virtuemart/shop_image/product/resized/resized/
В колонке "Маленькая картинка" не прописывать resized/! Только имя файла! - Не импортирует дополнительные файлы или и зображения
Дополнительные медиа-файлы должны размещаться в media/, дополнительные изображения в /components/com_virtuemart/shop_image/product/additional/
Не путать с большим и малым изображениями, которые должны быть в components/com_virtuemart/shop_image/product/
- При открытии компонента открывается страница где слева меню VirtueMart причем без стилей просто тупо синие ссылки а по середине ничего нет пусто
Странно перенес на другой хост и вот что произошло при открытии компонента открывается страница где слева меню VirtueMart причем без стилей просто тупо синие ссылки а по середине ничего нет пусто кроме того пропадает вообще все что связанно с Joomla меню админки и прочее ! У меня версия php 5.2.10 и нет возможности включить 5.2.0 это что получается из за версии php или я ошибаюсь?
Домен тот же что и был просто хостинг сменили!
Т.е получаеться дело не в php? ----- Да уж что то страшное произошло! Удалил магазин и компонент установил заново та же история ссылка то нормальная на него administrator/index.php?option=com_virtuemart&page=product.simple_csv а когда перехожу по ссылке настройка псевдонимов то вообще белый экран! ----- В общем если у кого случится это недоразумение то посмотрите включено ли расширение PHP simplexml. По сути оно по умолчанию включено должно быть но не в моем случае! Включил все заработало!
В версиях 1.0.18+ и без этого расширения должно работать.
- Пустой пункт
Текущая версия [СКАЧАТЬ]Разное Что нового относительно старой версииЧто не работает- Дочерние товары (скорее всего), ибо не знаю что это за зверь. Если кому надо - говорите. Буду разбираться. - Что найдёте и укажете, будет исправлено/добавлено. Для этого надо привести пример того, что не работает и подробное пояснение как оно должно работать. - Нет возможности запускать по cron - Нет динамического изменения размеров фотографий
Что работает, но не очень
Проблемы: - При редиректе, который вроде бы должен быть надёжнее Аякса, на большом прайсе столкнулся з сообщением от Firefox
 Это не страшно. Можно просто 'Try again' - оно продожлит работу. Или зайти снова на импорт - будет возможность продолжить прерванное. В следующих версиях поправлю, уже знаю как. - Натыкался на строку в одом прайсе со спецсимволами, который функцый PHP fgetcsv не смогла правильно прочитать. Или LibreOffice не смог правильно экспортировать, что вероятнее.
- Связанные товары. Если товар из строки 5 связан с товаром, который в строке 6, то при первом импорте связь не будет добавлена, ибо нет ещё 6-й строки в БД. То есть надо дважды импортировать.
- В логе много дублированной информации, не все сообщения понятны и информативны
- В компоненте много левых файлов из учебного компонента, оставленных на будущее
- Код не самый изящный получился
- Аяксовые обновления окна с индикатором процесса не так красиво работают, как хотелось бы
- Логи сохраняются в /logs как файлы .php. Проблема, что нет другой возможности их удалить, как вручную.
- Депубликация всех товаров, кроме тех, что в прайсе работает, но логика не универсальна. Потенциально на очень большом прайсе может обламаться. Пока кому-нибудь не припечёт не имеет смысла исправлять. Вряд ли припечёт.
TODO (не полный)На данный момент в работе следующие моменты:- Добавить проверку бравзера для соответствующего сообщения пользователям.
- Проблема при импорте только категорий от Полищука (на мыле). Для информации. Попробовал сейчас импорт категорий. Всё импортирует хорошо (корневые и дочерние каталоги). Кроме поля products_per_row: прописывает в нём 0. Вручную через админку меняю в этих полях значения на нужные мне. При повторном импорте эти значения опять обнуляются.
- при включенном плагине System - K2Store работает только импорт из директории с редиректами, добавить совместимость с К2
- добавить обработку дочерних товаров
- прописать всплывающие подсказки в настройках псведонимов - рассказать пользователю какая колонка за что отвечает
- При ответе от сервера типа "504 Gateway Time-out" перезапускать AJAX через некоторое время
- в Обрабатывающий модуль Товары добавить три переменные:
product_discount-> Фиксированный размер скидки product_discount_date_start-> Дата начала действия скидки product_discount_date_end-> Дата окончания действия скидки
- Добавить возможность импорта скачиваемых товаров
Поскольку основа работы импорта в построчном считывании CSV файла, а не захвате целого файла в память, то непонятно пока, возможно ли его научить видеть .xls файлы. Разобраться, возможно ли итеративное считывание .xls файлов. Если возможно, то научить его работать с .xls Похоже, нет такой возможности. Все парсеры xls читают файл целиком в память. Если бы найти построчное чтение - тогда да. Посмотреть здесь: http://phpexcel.codeplex.com/discussions/242712#post808170 - Добавить обработку quantity_options
- Переделать удаление/депубликацию товароа, чтобы при очень больших працсах список артикулов не перегружал память.
- Добачить удаление товаров, которых нет в прайсе. Добавить депубликацию/удаление категорий, в которых нет опубликованных товаров вместе с товарами.
|