|
tug
|
 |
« : 27.11.2006, 17:54:53 » |
|
Тема ушла сюда: http://joomlaforum.ru/index.php/topic,150010.0.htmlВ этой теме пишем свой мнение о том, что я скажу ниже.  Нормальная заливка это ...: - возможность заливать любые данные через CSV, т.е. товары, типы, параметры, категории, производителей, налоги, хуёги и пр.
- возможность прямо в csv указывать поля, которые нужно обрабатывать.
- когда в админке Вам нужно только указать файл и нажать "Upload".
- возможность кастомизировать заливку и добавлять новые модули и не только для VirtueMart.
Спасибо всем, кто проспонсировал проект в тяжелое так сказать время.
|
|
|
|
« Последнее редактирование: 04.02.2011, 23:03:24 от beagler »
|
Записан
|
|
|
|
| |
|
tug
|
 |
« Ответ #1 : 05.05.2007, 11:04:07 » |
|
Анонс Simple CSV 1Предположительная дата релиза - 13 мая
Действительно простая заливка Никаких конфигураций полей. В админке магазина Вам нужно нажать только кнопочку "Upload".
Все данные в одном файле Вы можете хранить товары, типы, параметры и другие данные в одном файле, это поможет не ошибиться при оформлении csv, не нужно возиться со множеством файлов боясь запутаться.
Для менеджеров Автоматическая проверка товаров и категорий. Если в Вашем csv нет каких-то товаров Вы можете указать опцию "Проверять товары" и товары, которых в csv нет, но есть в базе будут автоматически скрыты. Если Вы предпочитаете заполнять описание и другие поля через админку магазина - так и делайте. При перезаливке наша программа оставит Ваши данные, не указанные в csv.
Защита от сбоев и медленных хостингов Заливка выполняется в несколько коротких итераций, величину которых вы можете установить сами. Между итерациями программа полностью сохраняет все данные. После сбоя, всё что вам нужно, это зайти в админку и Вы увидите незаконченные заливки и сможете принять решение о возобновлении заливки или удалении данных незавершенной заливки.
Это не хак Устанавливая расширение, Вы не лишаете себя возможности пользоваться преимуществами стандартной заливки.
ЧПФ Человеко-понятный формат. Забудьте о том, что CSV не может содержать лишних данных. Просто пишите по русски: Наименование товара, Величина скидки, Цена для группы Оптовики, Тип Процессоры параметр Тактовая частота. Этот файл Вы можете послать партнёрам, клиентам, начальству, кому угодно/ Более того, включите фантазию. Вы можете придумать свои названия любым колонкам и модулям или разные названия для одной колонки.
Note: К сожалению объем технической документации будет довольно большой (установка, правила составления csv, мои рекомендации) и сначала я выпущу её, а затем само расширение.
|
|
|
|
« Последнее редактирование: 13.05.2007, 17:30:27 от tug »
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #2 : 13.05.2007, 17:17:26 » |
|
Установка1. Распакуйте архив "virtuemart_simple_csv_1beta2.zip" в "path_to_joomla/administrator/components/com_virtuemart/" 2. Войдите как администратор и пройдите по ссылке "your_server/administrator/index2.php?option=com_virtuemart&page=admin.simple_csv_install" Теперь можете удалить файл "path_to_joomla/administrator/components/com_virtuemart/html/admin.simple_csv_install.php" 3. Пройдя по ссылке "your_server/administrator/index2.php?option=com_virtuemart&page=product.simple_csv_upload", Вы можете начать заливать товары. Для большего удобства создадим в меню ссылку. 3.1 Найдите файл "path_to_joomla/administrator/components/com_virtuemart/header.php" 3.2 Найдите строку: ['<img src="<?php echo $my_path ?>query.png" />','<?php echo $VM_LANG->_PHPSHOP_PRODUCT_CSV_UPLOAD ?>','<?php $sess->purl($_SERVER['PHP_SELF'] . "?pshop_mode=admin&page=product.csv_upload"); ?>',null,'<?php echo $VM_LANG->_PHPSHOP_PRODUCT_CSV_UPLOAD ?>'], 3.3 Строкой выше вставьте: ['<img src="<?php echo $my_path ?>query.png" />','Использовать простую загрузку CSV','<?php $sess->purl($_SERVER['PHP_SELF'] . "?pshop_mode=admin&page=product.simple_csv_upload"); ?>',null,'Использовать простую загрузку CSV'], Рекомендации1. Лучше и проще всего использовать OpenOffice.org, c http://i-rs.ru. 2. Сохранять в формате csv с разделителями "|", ограничителей нет. 3. Прежде всего перед выгрузкой нужно убедиться, что нет переводов строки. Идете "Правка" -> "Найти/Заменить" Найти: \n Заменить: <пусто> Больше параметров >>> Регулярное выражение 4. Пользуясь тем же инструментом "Поиск/Замена" вырежте символы, которые Вы планируете сделать разделителями, если вы следуете моим реккомендациям это "|". Не забудьте выключить галочку "Регулярное выражение". Использование1. В первой ячейке должно быть написано название модуля. То есть того, что Вы загружаете: Категории производителей Производители Категории товаров Типы товаров Параметры Товары 2. Во второй строке нужно определить колонки. В зависимости от модуля, который вы выбрали это могут быть: Категории производителейНаименование Описание ПроизводителиНаименование производителя Email Страна Описание Категория Сайт компании Категории товаровПродавец Наименование Описание Адрес маленькой картинки Адрес полной картинки Опубликована Шаблон для каталога Товаров в строке Шаблон для товара Номер по порядку Родительская категория Типы товаровНаименование Описание Опубликован Шаблон для каталога Шаблон для товара Номер по порядку ПараметрыТип Наименование в базе Наименование Описание Номер по порядку Тип параметра Возможные значения Множество значений Значение по умолчанию Единица измерения ТоварыИдентификатор продавца Идентификатор родительского товара Артикул Краткое описание Полное описание Маленькое изображение Большое изображение Опубликован Вес прибора Единица измерения веса Длина Ширина Высота Единица измерения размеров url Количество в продаже product_available_date Отгрузка Идентификатор скидки ship_code_id cdate mdate Наименование товара Число продаж Атрибут Атрибут определенный нами Идентификатор налога product_unit product_packaging Идентификатор категории Путь до родительской категории товара Цена товара Также для товаров есть сложные поляЦена для <Название группы пользователей> <Тип>;<Параметр> 3. Дальше чистые данные
|
|
|
|
« Последнее редактирование: 14.05.2007, 14:33:46 от tug »
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #3 : 13.05.2007, 17:30:59 » |
|
Пробуйте, если что-то не получится сделаю ролик.
|
|
|
|
|
Записан
|
|
|
|
|
imprez1k
Гость
|
 |
« Ответ #4 : 13.05.2007, 17:50:01 » |
|
Ув. Tug, мне кажется ролик нужен в любом случае, т.к. очень уж "продвинутый" адд-он. Если не тяжело, конечно же. respect 
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #5 : 13.05.2007, 19:41:10 » |
|
Посмотрите примеры, думаю много вопросов отпадет.
|
|
|
|
|
Записан
|
|
|
|
Joewe
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 10
|
 |
« Ответ #6 : 13.05.2007, 19:55:32 » |
|
После всех манипуляций, выдает сообщение: "Notice: Не удалось найти обработчик 'Товары'." Все сделал как в примерах: первая строка "Товары" и т.д. В чем может быть причина?
|
|
|
|
|
Записан
|
|
|
|
|
JohnnyRUS
Гость
|
 |
« Ответ #7 : 13.05.2007, 22:04:43 » |
|
Incorrect column count Configration: 3 fields File: 32 fields
|
|
|
|
|
Записан
|
|
|
|
|
JohnnyRUS
Гость
|
 |
« Ответ #8 : 13.05.2007, 22:05:37 » |
|
3.1 Найдите файл "path_to_joomla/administrator/components/com_virtuemart/header.php" а у меня нет такого фаила)
|
|
|
|
|
Записан
|
|
|
|
|
}{oTT@6b)4
Гость
|
 |
« Ответ #9 : 14.05.2007, 00:22:11 » |
|
Может вопрос покажется банальным, но.... как просмотреть примеры? 
|
|
|
|
|
Записан
|
|
|
|
luckywookie
Осваиваюсь на форуме
 
Репутация: +4/-0
Offline
Пол: 
Сообщений: 130
Плазменный инжектор-жизнь моя :))
|
 |
« Ответ #10 : 14.05.2007, 09:20:57 » |
|
Может вопрос покажется банальным, но.... как просмотреть примеры? --------------------- Свеху скачай Примеры.zip
|
|
|
|
|
Записан
|
|
|
|
IceFusion
Осваиваюсь на форуме
 
Репутация: +0/-1
Offline
Пол: 
Сообщений: 79
|
 |
« Ответ #11 : 14.05.2007, 12:37:28 » |
|
Смотерть примеры нужно Open Office.org ;-)
|
|
|
|
|
Записан
|
|
|
|
Joewe
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 10
|
 |
« Ответ #12 : 14.05.2007, 13:05:26 » |
|
У вас нормально работает? У меня Joomla 1.0.10 + VM 1.0.6. Все сделал как tug написал. По прежнему, при попытке загрузить csv, появляется сообщение об ошибке.
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #13 : 14.05.2007, 14:08:28 » |
|
Incorrect column count Configration: 3 fields File: 32 fields Вы пытаетесь залить через стандартный модуль. 3.1 Найдите файл "path_to_joomla/administrator/components/com_virtuemart/header.php" а у меня нет такого фаила) Тогда бы у Вас не было меню Virtuemart'а вообще. Может вопрос покажется банальным, но.... как просмотреть примеры? ОтветПосле всех манипуляций, выдает сообщение: "Notice: Не удалось найти обработчик 'Товары'." Все сделал как в примерах: первая строка "Товары" и т.д. В чем может быть причина? Извиняюсь, накосячил, когда писал инструкцию по установке. Правильный установочный линк: "your_server/administrator/index2.php?option=com_virtuemart&page=admin.simple_csv_install" Ролик будет обязательно, накатом сделать не вышло, программа глюканула.
|
|
|
|
« Последнее редактирование: 14.05.2007, 14:34:24 от tug »
|
Записан
|
|
|
|
Joewe
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 10
|
 |
« Ответ #14 : 14.05.2007, 14:47:56 » |
|
Если бы в этом была проблема! Линк-то я сразу исправил! Все установилось без проблем и файл я этот потом удалил. Может быть еще может быть какя-то причина?
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #15 : 14.05.2007, 15:37:08 » |
|
Проверь наличие файла "administrator\components\com_virtuemart\classes\ps_simple_csv_aliases.php"
|
|
|
|
|
Записан
|
|
|
|
Joewe
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 10
|
 |
« Ответ #16 : 14.05.2007, 16:38:33 » |
|
Файл есть и содержит в себе: 'Товары' => 'products' Почему не работает, не понимаю
|
|
|
|
|
Записан
|
|
|
|
|
JohnnyRUS
Гость
|
 |
« Ответ #17 : 14.05.2007, 16:59:26 » |
|
Как правильно указать путь к картинке товара?
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #18 : 15.05.2007, 19:59:04 » |
|
Новая версия. Исправлено: - Картинки в товарах теперь обрабатываются верно. Указывать нужно относительный путь до картинки внутри директории ".../components/com_virtuemart/shop_image/product/" (спасибо Johnny)
- Переработал обработку производителей и категорий производителей, теперь можно в csv с товарами указать для поля "Идентификатор производителя" номер уже добавленного производителя, или для поля "Производитель" можно указать название производителя (если такого нет, он создастся в основной категории, которой если нет, она тоже создастся) или указать <Название категории производителя>/<Название производителя> (естественно все создается, если нету)
Установка на чистый магазин как сказано выше, обновление - просто скопировать файлы из архива в директорию ".../administrator/components/com_virtuemart/"
|
|
|
|
|
Записан
|
|
|
|
|
}{oTT@6b)4
Гость
|
 |
« Ответ #19 : 15.05.2007, 22:16:22 » |
|
А можно ли добавить кроме загрузки ещё и экспорт, дабы на собственном примере (экспортировать свои товары) делать csv-файл??? Да и вообще, экспорт не помешал бы =)
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #20 : 15.05.2007, 22:23:33 » |
|
А можно ли добавить кроме загрузки ещё и экспорт, дабы на собственном примере (экспортировать свои товары) делать csv-файл??? Да и вообще, экспорт не помешал бы =)
Лично я не вижу в этом смысла. Стандартный модуль вполне с этим справляется.
|
|
|
|
|
Записан
|
|
|
|
|
}{oTT@6b)4
Гость
|
 |
« Ответ #21 : 15.05.2007, 22:50:22 » |
|
А у меня в стандартной загрузке, после добавления твоего модуля, экспорт тоже не отображается =(((
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #22 : 15.05.2007, 23:55:21 » |
|
А у меня в стандартной загрузке, после добавления твоего модуля, экспорт тоже не отображается =(((
Поподробнее пожалуйста. Что значит "тоже не отображается"? Такого быть не должно.
|
|
|
|
|
Записан
|
|
|
|
Joewe
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 10
|
 |
« Ответ #23 : 16.05.2007, 01:02:18 » |
|
Будьте внимательны создавая csv! Не надо использовать символ ограничитель полей. Лучше делайте как tug выше писал. Программа очень полезная. Позволяет избежать множества ручной работы. Возникла небольшая проблемка: [При перезаливке наша программа оставит Ваши данные, не указанные в csv.
Действительно осталось все, кроме параметров категории (types) и производителя (manufacturer_id). Я заливал три колонки: Артикул;Цена товара;Путь до родительской категории товара. Я правильно понял, что можно делать любое количество колонок, в любом порядке? Кстати, как убрать обязательные для заполнения поля? Или лучше оставить их обязательными только для новых товаров. Я часто заливаю только две колонки: артикул и цену товара, чтобы быстро обновить цены. В стандартном модуле это получалось через редактирование ps_csv.php. здесь чего-то не разобрался как это сделать
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #24 : 16.05.2007, 02:29:52 » |
|
Будьте внимательны создавая csv! Не надо использовать символ ограничитель полей. Лучше делайте как tug выше писал. Важный момент - это разделители. Когда люди начинают пользоваться программой, они забывают про разделители. В следующей версии я обязательно сделаю при загрузке подтверждающий диалог, который позволит ещё раз подумать - правильные ли вы выставили разделители. Ничего страшного не произойдет, если загрузка начнется, так как ничего изменено не будет, но все же. Первейший признак того, что Вы все-таки ошиблись это строка в логе "Notice: Не удалось найти обработчик 'Товары'.;;;;;;;;" в конце которой будет повторяться истинный разделитель =) Я правильно понял, что можно делать любое количество колонок, в любом порядке? Совершенно верно. Кстати, как убрать обязательные для заполнения поля? Или лучше оставить их обязательными только для новых товаров. Как таковых обязательных полей нет. Точнее выглядит это так. Создавая новый объект, будь то товар или что-то ещё, вы должны убедиться, что поля, которые требует Virtuemart были заполнены. Если чего-то не хватает, в логе появится соответствующая запись, поэтому сразу после заливки пробегитесь глазами по логу. Пока все сообщения одинаковые и ошибки визуально трудно выделить, но я думаю это дело времени. При обновлении прайса все происходит иначе. Грубо говоря, требуется только поле, по которому скрипт может найти запись, которая уже есть в базе. Остальные поля, которые есть в базе, но которых нет в csv, скрипт оставит нетронутыми. Для товаров это поле Артикул, для всего остального это имя объекта. Действительно осталось все, кроме параметров категории (types) и производителя (manufacturer_id) Есть такое дело, поправлю в следующей версии. И еще одно. Пишите обо всех ошибках с указание версии php и virtuemart, будьте внимательны и на всякий случай держите полный бэкап базы. Я могу гарантировать только то, что в моем коде нет ни одного запроса изменяющего данные в базе, но поскольку я кодер производства России, сами понимаете =)
|
|
|
|
« Последнее редактирование: 16.05.2007, 02:41:41 от tug »
|
Записан
|
|
|
|
|
MegaS
Гость
|
 |
« Ответ #25 : 16.05.2007, 11:09:17 » |
|
Хелп... либо я что-то не так делаю либо одно из двух.... Во-первых выдает сообщение "Warning: set_time_limit(): Cannot set time limit in safe mode in /home/a4nekro/domains/nekromants.net/public_html/meg/administrator/components/com_virtuemart/classes/ps_simple_csv.php on line 44" Во-вторых вот такую гадость показывает.... см. скрин. Ну и соответственно не загружаются товары....
[вложение удалено Администратором]
|
|
|
|
|
Записан
|
|
|
|
Aleshka
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Пол: 
Сообщений: 87
|
 |
« Ответ #26 : 16.05.2007, 12:17:25 » |
|
Установил данный модуль, написало что "Установщик расширения «simple_csv» запущен" и на этой же странице указано, что можно удалить файл "product.simple_csv_install.php", но в пакете такого файла нет, а есть "admin.simple_csv_install.php". На форуме также сказано что нужно удалить "admin.simple_csv_install.php". Это конечно, не принципиально, но все мне кажется что стоит изменить названия файла в документации. И при изучении данного материала возникли вопросы все делал на основе файлов-примеров (параметры и товары). Попробую рассказать свои вопросы. Так открыл файл "Параметры" в этом файле указывается для каждой категории типы полей. второй файл "Товар" сам файл в котором хранятся все данные, вот здесь у меня сразу возник вопрос, Там есть такое поле "Идентификатор производителя", меня интресует каоке туда вставлять значение и откуда его брать???
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #27 : 16.05.2007, 15:40:44 » |
|
Хелп... либо я что-то не так делаю либо одно из двух.... Во-первых выдает сообщение "Warning: set_time_limit(): Cannot set time limit in safe mode in /home/a4nekro/domains/nekromants.net/public_html/meg/administrator/components/com_virtuemart/classes/ps_simple_csv.php on line 44" Во-вторых вот такую гадость показывает.... см. скрин. Ну и соответственно не загружаются товары.... У вас php в safe_mode это не очень хорошо, но мы это учтем и спрячем варнинг. Насчет товаров, покажите csv, из лога следует, что у вас csv в одну строку и там нет определения модуля. Установил данный модуль, написало что "Установщик расширения «simple_csv» запущен" и на этой же странице указано, что можно удалить файл "product.simple_csv_install.php", но в пакете такого файла нет, а есть "admin.simple_csv_install.php". На форуме также сказано что нужно удалить "admin.simple_csv_install.php". Это конечно, не принципиально, но все мне кажется что стоит изменить названия файла в документации. Спасибо, исправим. Так открыл файл "Параметры" в этом файле указывается для каждой категории типы полей. второй файл "Товар" сам файл в котором хранятся все данные, вот здесь у меня сразу возник вопрос, Там есть такое поле "Идентификатор производителя", меня интресует каоке туда вставлять значение и откуда его брать??? Типы это не категории, просто в этом конкретно примере категории совпадают с типами часто. В этом файле указаны типы и их параметры.... ну черт его знает как это вам втолковать. Посмотрите ролики из темы про сравнение товаров. Прочтите ветку ещё раз. В частности выше я писал: Переработал обработку производителей и категорий производителей, теперь можно в csv с товарами указать для поля "Идентификатор производителя" номер уже добавленного производителя, или для поля "Производитель" можно указать название производителя (если такого нет, он создастся в основной категории, которой если нет, она тоже создастся) или указать <Название категории производителя>/<Название производителя> (естественно все создается, если нету) Таким образом в поле "Идентификатор производителя" нужно вставлять значение из админки (список производителей, наводите на нужного и в адресной строке смотрите manufacturer_id=xxx, где xxx и есть Идентификатор производителя), если ранее вы уже добавляли производителей....
|
|
|
|
|
Записан
|
|
|
|
Aleshka
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Пол: 
Сообщений: 87
|
 |
« Ответ #28 : 16.05.2007, 20:00:55 » |
|
При попытке залиты товары через CVS, появилось такое сообщение: Warning: rename(/var/tmp/phpjZUXIR,/usr/local/www/apache22/data/media/vmcx9ZbvV) [function.rename]: Operation not permitted in /usr/local/www/apache22/data/administrator/components/com_virtuemart/classes/ps_simple_csv.php on line 367 И появляется ошибка, я лог файл прикрепил. Я пытаюсь залить файл "Товар" из примера не внося в него никаких изменений. До этого файл "Параметры" я не заливал. Где моя ошибка?? Типы это не категории, просто в этом конкретно примере категории совпадают с типами часто. В этом файле указаны типы и их параметры.... ну черт его знает как это вам втолковать. Посмотрите ролики из темы про сравнение товаров. Спасибо посмотрел понял для чего нужны типы. Таким образом в поле "Идентификатор производителя" нужно вставлять значение из админки (список производителей, наводите на нужного и в адресной строке смотрите manufacturer_id=xxx, где xxx и есть Идентификатор производителя), если ранее вы уже добавляли производителей.... Огромное спасибо за ответ. Буду теперь знать.
|
|
|
|
|
Записан
|
|
|
|
|
tug
|
 |
« Ответ #29 : 16.05.2007, 20:55:16 » |
|
При попытке залиты товары через CVS, появилось такое сообщение: Warning: rename(/var/tmp/phpjZUXIR,/usr/local/www/apache22/data/media/vmcx9ZbvV) [function.rename]: Operation not permitted in /usr/local/www/apache22/data/administrator/components/com_virtuemart/classes/ps_simple_csv.php on line 367 Проверьте права на запись в директорию "/usr/local/www/apache22/data/media", запись должна быть разрешена.
|
|
|
|
|
Записан
|
|
|
|
|