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

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 2 [3] 4 5 6 7 8 9 10 11 12   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Модификация для нормальной загрузки через CSV  (Прочитано 106757 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tug
Завсегдатай
*****

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

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


« : 27.11.2006, 17:54:53 »

Тема ушла сюда: http://joomlaforum.ru/index.php/topic,150010.0.html

В этой теме пишем свой мнение о том, что я скажу ниже.  Cool

Нормальная заливка это ...:
  • возможность заливать любые данные через CSV, т.е. товары, типы, параметры, категории, производителей, налоги, хуёги и пр.
  • возможность прямо в csv указывать поля, которые нужно обрабатывать.
  • когда в админке Вам нужно только указать файл и нажать "Upload".
  • возможность кастомизировать заливку и добавлять новые модули и не только для VirtueMart.

Спасибо всем, кто проспонсировал проект в тяжелое так сказать время.
« Последнее редактирование: 04.02.2011, 23:03:24 от beagler » Записан
 
tug
Завсегдатай
*****

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

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


« Ответ #61 : 23.05.2007, 01:59:07 »

Tug, когда будет ролик? У меня что-то вообще ничё не получается =((((
Сожалею, пока не получается выделить мимнутку...

Цитировать
А от чего зависит "удачный расклад"???
От того, какой я кодер =)
Записан
Aleshka
Осваиваюсь на форуме
***

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

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


« Ответ #62 : 23.05.2007, 10:55:23 »

Так если удачно сложится. Я час перделываю шаблон VirtueMart под себя, если справлюсь за сегодня, то постараюсь модифицировать твою прикольную штучку.
Цитировать
От того, какой я кодер =)
Проверим какой ты кодер Wink.
Кстати tug,  а как делать ролик, может если будет немного времени  я сделаю. Правда не обещаю за сегодня и за завтра сделать.
Записан
tug
Завсегдатай
*****

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

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


« Ответ #63 : 23.05.2007, 15:14:44 »

Берешь прогу для записи с экрана и пишешь =)
Блин я же вчера ещё сделал и вроде даже сюда кинул =((( странно, может удалили?

Вобщем оказалось, что кодер я неплохой. Чтобы из последней версии расширения получить что-то, что будет добавлять цены для разных групп и разных количеств товара нужно найти файл ps_simple_csv_aliases.php и строку №123:
заменить на
Код:
'/Цена для группы "(.+?)"(?:(?:.*?)(\d+)(?:.*?)(\d+))?/' => 'product_prices|shopper_group_name|price_quantity_start|price_quantity_end',

Формат колонок:
Цена для группы "<название группы покупателей, сначала это обычно -default->"[[что угодно]<число от>[что угодно]<число до>]

Правильно: Цена для группы "-default-" количество от 3 до 7
Неправильно: Цена для группы "-default-" количество от 3
Правильно: Цена для группы "-default-" 3 - 7
Правильно: Цена для группы "-default-", 3 7
Правильно: Цена для группы "-default-"
« Последнее редактирование: 24.05.2007, 11:00:21 от tug » Записан
Gruz
Живу я здесь
******

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

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


Бутылочку оставьте?


« Ответ #64 : 24.05.2007, 03:32:12 »

У меня не получается при импорте убивать товары, отсутствующие в прайсу.
В доке написано: "Автоматическая проверка товаров и категорий. Если в Вашем csv нет каких-то товаров Вы можете указать опцию "Проверять товары" и товары, которых в csv нет, но есть в базе будут автоматически скрыты"
Делаю импорт, ставлю галочку, но старые товары висят без изменений.

Где собака порылась?

Юзаю:
simple_csv_1_beta_4
VM 1.0.10
Joomla 1.0.12

З.Ы. По идее, если я пустой прайс имортну с галочкой, то должны бы были вырубиться все товары.
Записан
tug
Завсегдатай
*****

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

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


« Ответ #65 : 24.05.2007, 11:34:16 »

очередное обновление

Simple CSV Upload 1 beta 5
  • Исправлена ошибка из-за которой не указанные в csv товары не скрывались при включенной опции "Проверять товары"
  • Исправлена ошибка из-за которой неправильно работало обновление сложных цен (цен для разных групп и с количеством)
  • Мелкие улучшения кода

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

* simple_csv_1_beta_5.zip (15.81 Кб - загружено 1055 раз.)
Записан
Gruz
Живу я здесь
******

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

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


Бутылочку оставьте?


« Ответ #66 : 24.05.2007, 11:40:09 »

Было би неплохо, чтобы можно было указывать категории, для которых опция проверять товары действует, а для которых нет. Хотя может это и очень специфически.

У меня часть магазина загружается из прайса, а часть раньше была набита ручками, с описаниями, но в прайсе её нет. Если поднимаю из прайса, то набитые ручками вырубаются.
« Последнее редактирование: 06.10.2007, 05:15:49 от Gruz » Записан
Joewe
Захожу иногда
**

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

Сообщений: 10


« Ответ #67 : 24.05.2007, 15:51:00 »

Обновил с первой версии до пятой Sad У меня все равно удаляются параметры категории и производитель при загрузке двух колонок (артикул и цена товара)
Записан
tug
Завсегдатай
*****

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

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


« Ответ #68 : 25.05.2007, 00:28:49 »

Проверил, действительно по моей невнимательности производитель сбрасывался.
Чтобы исправить это в файле "ps_simple_csv.php"
Замените строку 883 на
Код:
if( $csv_data['manufacturer_id'] ) {

А вот категории нормально у меня отработали.
Опишите поподробней какие параметры категорий сбрасываются?
Записан
yugin
Гость
« Ответ #69 : 28.05.2007, 07:29:39 »

Добрый день!
Господа, подскажите такой вопрос: почему при заливке в наименовании товаров количество символов обрезается до 64? Вроде должно быть 255. Или я ошибаюсь? При чем получается не только при заливке, но и если вбивать товар вручную.
Заранее благодарю
Записан
tug
Завсегдатай
*****

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

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


« Ответ #70 : 28.05.2007, 09:19:00 »

64 символа, это ограничение по базе.
Записан
yugin
Гость
« Ответ #71 : 29.05.2007, 10:43:15 »

спасибо, уже что-то. а то долго разбирался. а как-то можно увеличить? хотя бы до 255? прошу прощения, если вопрос глупый
Записан
Gruz
Живу я здесь
******

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

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


Бутылочку оставьте?


« Ответ #72 : 29.05.2007, 10:46:05 »

Видимо в PHPMyAdmin изменить тип поля на более подходящий.
Посмотри, сориентируешся.
Записан
yugin
Гость
« Ответ #73 : 29.05.2007, 10:52:58 »

попробую, спасибо ОГРОМНОЕ! тока вот еще трабл возник - при загрузке товаров, цены длиной более 3-х символов, превращаются в 1 символ. например, 1500 руб. превращаются в 1 руб. 2000 руб. - в 2 руб. и так далее. Уж тут совсем недоумеваю. Искал на форуме, вроде ни у кого такой проблемы не было. если все же где-то есть про данную проблему, дайте ссылочку, плиз.
Заранее благодарю.
Записан
tug
Завсегдатай
*****

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

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


« Ответ #74 : 29.05.2007, 13:42:57 »

Как грузите? Покажите кусочек CSV.
Записан
Aleshka
Осваиваюсь на форуме
***

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

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


« Ответ #75 : 29.05.2007, 18:54:45 »

Цитировать
Формат колонок:
Цена для группы "<название группы покупателей, сначала это обычно -default->"[[что угодно]<число от>[что угодно]<число до>]

Правильно: Цена для группы "-default-" количество от 3 до 7
Неправильно: Цена для группы "-default-" количество от 3
Правильно: Цена для группы "-default-" 3 - 7
Правильно: Цена для группы "-default-", 3 7
Правильно: Цена для группы "-default-"
А можно подробней написать как я должен называть колонки для того чтобы указать несколько цен для разного количества товара? А то что-то я не могу пока понять как это делать.
Записан
Aleshka
Осваиваюсь на форуме
***

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

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


« Ответ #76 : 29.05.2007, 19:47:16 »

Не пойму не заносится у меня цена и все. В какой файл нужно вносить цены, как я понимаю в "товар". Я прав?
Записан
Aleshka
Осваиваюсь на форуме
***

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

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


« Ответ #77 : 29.05.2007, 20:07:52 »

Сталкнулся с такой проблемой!!!!
А как мне сделать, чтобы у каждого товара была свой придел цен и количество продаж. Поясню на примере, у меня есть иглы (стандартный пример), и одни иглы я продаю по таким расценкам (1-5 шт. = 600 руб, 6-10шт=550 руб, более 10 шт = 500 руб). А как мне сделать если я хочу еще и другие иглы продавать (1-5 шт = 600 руб и все что свыше по 500руб). Попробывал такое сделать ничего не получается все что свыше 5 проставляется нулями!!!!! Надеюсь вопрос я ясно изложил???
Записан
tug
Завсегдатай
*****

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

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


« Ответ #78 : 29.05.2007, 22:16:11 »

Создаешь в товарах колонку
например "Цена для группы "-default-" количество от 3 до 7"
(-default- это стандартное название основной группы покупателей в Virtuemart, если вы ничего не меняли)
дальше в товарах пишешь цену.

Если нужно сделать, чтобы всё что больше пиши так "Цена для группы "-default-" количество от 5 до 99999"
Записан
yugin
Гость
« Ответ #79 : 30.05.2007, 04:56:28 »

Как грузите? Покажите кусочек CSV.

в csv включены всего 4 поля - артикул, наименование, путь и цена.
вот пример (в файле)

* price1.rar (16.38 Кб - загружено 329 раз.)
Записан
tug
Завсегдатай
*****

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

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


« Ответ #80 : 30.05.2007, 09:07:45 »

Измините формат колонки в вашем редакторе.
Для добавления в базу значение преобразуется в числовой формат, делается это очень грубо.
"5 000,00" это только по вашему 5 тысяч, для базы это просто "5".

Символом разделителя целой и дробной части должна быть точка.
Записан
Aleshka
Осваиваюсь на форуме
***

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

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


« Ответ #81 : 30.05.2007, 10:22:15 »

Цитировать
Создаешь в товарах колонку
например "Цена для группы "-default-" количество от 3 до 7"
(-default- это стандартное название основной группы покупателей в Virtuemart, если вы ничего не меняли)
дальше в товарах пишешь цену.
Да все сделал получилось, спасибо.
Цитировать
Если нужно сделать, чтобы всё что больше пиши так "Цена для группы "-default-" количество от 5 до 99999"
А вот тут у меня возникла проблема, час расскажу подробней.
Все будет относится к примеру файла для инсулиновых шприцев и игл. Возьмем для примера  иглы. Итак, существуют разные цены для разного количества покупок. Для одних игл цена состоит из из двух диапазон цен, а для некоторых из четырех. Например, для одних цена составляет 1-5 шт стоит 600 руб, все что выше стоит 550 руб. А  для других 1-5 шт стоит 550 руб, 6-10 шт стоит 525 руб, 11-100 штук 500 руб, а количество более 100 шт стоит 450 руб. Вот здесь  и возникает трудности. А как мне все это правильно зависти в csv- файл. Вот если я делаю такой вариант:
Цитировать
"Цена для группы "-default-" количество от 1 до 5" (какая-то цена); "Цена для группы "-default-" количество от 6 до 10" (какая-то цена); "Цена для группы "-default-" количество от 11 до 100"(какая-то цена); "Цена для группы "-default-" количество от 101"(какая-то цена)
Но как мне указать, что для каких-то игл нужно указать все 4 цены, а для каких-то только 2. Если я выставляю две цены, а остальные поля оставляю пустыми, то все три цены остаются заполненные нулями. Пример, для игл я ввожу цену для количества от 1-5 и затем цену для количества от 100 штук. Остальные колонки я оставляю не заполненными, другими словами  "Цена для группы "-default-" количество от 6 до 10"  оставляю пустым; "Цена для группы "-default-" количество от 11 до 100"оставляю пустым. И после того как импортирую csv-файл то в тех товарах где я указал 4 цены все нормально, а вот где только две, там первая цена выставляется нормально, а дальше содержит 3 ценовые категории и содержат 0. 
Tug,   посоветуйте как мне сделать чтобы колонки которые не содержат значения или содержат нули не заполнялись и не были видны???
Записан
tug
Завсегдатай
*****

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

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


« Ответ #82 : 30.05.2007, 20:36:11 »

Посмотрите как сделано для разных типов товаров.
CSV как бы начинается заново. Воспользуйтесь этой возможностью и  используйте только необходимые поля в новом определении.
Если у Вас есть другие идеи я их послушаю. Например есть идея игнорировать пустые значения цены или игнорировать значение в колонке с каким-то определенным символом, например "-"...
Записан
Aleshka
Осваиваюсь на форуме
***

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

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


« Ответ #83 : 31.05.2007, 11:36:15 »

Цитировать
Если у Вас есть другие идеи я их послушаю. Например есть идея игнорировать пустые значения цены или игнорировать значение в колонке с каким-то определенным символом, например "-".
Да идеи есть уже есть и решения, но решение не знаю правильное или нет. Но оно работает. Вот мои модификации может кому-то надо. Заходим в файл ps_simple_csv.php и переходим на строчку 1032:
Цитировать
if( !$csv_price['product_price'] ) $csv_price['product_price'] = $csv_price['value'];
И за ней вставляем следующее условие:
Цитировать
if ($csv_price['product_price'] != 0) {
И закрываем скобку "}" в строке 1036, т.е строка будет иметь следующий вид:
Цитировать
if( !$csv_price['price_quantity_end'] ) $csv_price["price_quantity_end"] = 0;}

Получилось может и коряво но у меня работает. А если коряво то прошу простить php я только осваиваю.
Tug, ну Вы и наворотили с регулярными выражениями. До сих пор не пойму как они работают, хотя вроде perl на начальном уровне знаю не плохо. В файле php_simple_csv_aliase.php
Цитировать
$product_dynamic_fields = array (
   '/Цена для группы "(.+?)"(?Sad?:.*?)(\d+)(?:.*?)(\d+))?/' => 'product_prices|shopper_group_name|price_quantity_start|price_quantity_end',
   '/(.+);(.+)/' => 'product_types|product_type_name|product_parameter_name',
);
Записан
Aleshka
Осваиваюсь на форуме
***

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

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


« Ответ #84 : 31.05.2007, 11:38:46 »

Забыл сказать самое главное это условие которое я добавил позволяет игнорировать 0 значения. Т.е в этом случае в базу нчего вносится не будет.
Записан
yugin
Гость
« Ответ #85 : 31.05.2007, 12:04:36 »

Измините формат колонки в вашем редакторе.
Для добавления в базу значение преобразуется в числовой формат, делается это очень грубо.
"5 000,00" это только по вашему 5 тысяч, для базы это просто "5".

Символом разделителя целой и дробной части должна быть точка.


Огромное спасибо! Так и сделаю
Записан
Aleshka
Осваиваюсь на форуме
***

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

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


« Ответ #86 : 04.06.2007, 13:01:52 »

Сталкнулся с проблемой, при заливке большого количества файлов около  1300 позиций мой apache 2.2.2. Начинает есть память   при заливке вижу что он потребляет свыше 150 Мб. Как это можно исправить?
Цитировать
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8650712 bytes) in /usr/local/www/apache22/data/administrator/components/com_virtuemart/classes/ps_simple_csv.php on line 434
Причем ошибки возникают в разных местах данного файла.
Записан
tug
Завсегдатай
*****

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

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


« Ответ #87 : 04.06.2007, 23:21:33 »

Попробуйте поискать проблему в слишком большом количестве данных в одной строке csv.
На моей практике только это приводило к такому поеданию памяти.
Записан
hedaya
Осваиваюсь на форуме
***

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

Сообщений: 29


« Ответ #88 : 05.06.2007, 21:57:17 »

Привет.  Tug, вот здесь (http://joomlaforum.ru/index.php/topic,4392.0.html) ты говорил, что можешь очень полезную фичу прикрутить к модулю. Есть ли это в ближайших планах? =)
Записан
}{oTT@6b)4
Гость
« Ответ #89 : 05.06.2007, 22:24:52 »

Tug, а с этим можно чтото сделать?
Цитировать
Замечание: PHP работает в режиме Safe Mode. Влияние данного расширения на функциональность модуля на данный момент не изучена. За дополнительной информацией обратитесь на joomlaforum.ru - http://joomlaforum.ru/index.php/topic,8340.new.html#new
Цитировать
Ошибка: Error: Specified local file doesn't exist.

И ещё.... влиет ли опция PHP register_globals на данный модуль?
« Последнее редактирование: 05.06.2007, 22:29:03 от хоттабыч » Записан
tug
Завсегдатай
*****

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

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


« Ответ #90 : 05.06.2007, 22:30:17 »

Цитировать
Привет.  Tug, вот здесь (http://joomlaforum.ru/index.php/topic,4392.0.html) ты говорил, что можешь очень полезную фичу прикрутить к модулю. Есть ли это в ближайших планах? =)
Спасибо за напоминание, хорошая идея, попробую реализовать на этой неделе.

Цитировать
Tug, а с этим можно чтото сделать?
Сменить хостинг или прогнуть хосетра на нормальное php
Записан
Страниц: 1 2 [3] 4 5 6 7 8 9 10 11 12   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | 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