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

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

Экспорт/Импорт JoomShopping прямо через MySQL

 (Прочитано 3766 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Plazmodina
Давно я тут
****

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

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



« : 21.02.2014, 15:57:41 »

Здравствуйте! У вас есть магазин JoomShopping и список продукции? Вы не хотите сидеть долго и нудно и добавлять ручками каждый товар при условии что у вас 1000 товаров? Дефолтные (стандартные) плагины импорта не устраивают, а платные слишком дорого (не заработали)? Тогда я могу вам помочь! Я нашел метод как импортировать данные продукта из файла CVS прямо через компонент phpMyAdmin на хостинге или денвере.

И так, с чего начнём? Наша задача это импортировать данные из файла в магазин JoomShopping, поэтому нужен файл с данными в формате CVS (для создания и редактирования этого типа файла подойдёт программа OpenOffice). У вас есть данные о товарах в Excel файле – замечательно!

Поговорим о категориях и подкатегориях (родительная категория и дочерняя категория).Например у нас есть категория Уход за лицом и подкатегория Бальзамы для губ.

В документе Microsoft Excel создаём столбики. Первый столбик: category_image – в нём будут названия картинок (цифры или латиница). Изначально готовые картинки категорий и подкатегорий должны находиться в папке /components/com_jshopping/files/img_categories/. Третий столбик: name_ru-RU – в нём будут названия категорий и подкатегорий. Четвёртый столбик: short_description_ru-RU – в нём будет краткое описание. Пятый столбик: description_ru-RU – в нём будет полное описание. Шестой столбик: meta_title_ru-RU – в нём будут тайтлы. Седьмой столбик: meta_ description_ru-RU – в нём будет description. Восьмой столбик: meta_keyword_ru-RU – в нём будут кейворды.

Что касается второго столбика, то! Второй столбик должен называться: category_parent_id . Если у нас идут только одни категории то ставим 0 (ноль). В нашем случае, где Уход за лицом это категория, а Бальзамы для губ это подкатегория категории Уход за лицом, то во второй колонке, в первой строчке указываем 0 (ведь это собственно категория), а во второй строчке указываем единицу. Получается, если у нас категория у которой ID1 и много подкатегорий (например 10) данной категории, то в категории указываем 0, а в других 10 строках указываем 1. Если например у нас есть категория идущая под номером 7 (ID7) и например 30 подкатегорий, то для категории указываем 0, а для всех подкатегорий указываем 7. Другими словами подкатегория равна порядковому номеру категории.

Вот у нас готов файл с данными. Этот Файл нужно сохранить в формате CVS по названием jshopping_categories.cvs  и потом открыть в программа OpenOffice. Посмотреть всё ли в порядке. Потом нажимаем Сохранить как (поставить галочку Изменение настроек фильтра). Нажать сохранить. Потом нажать Использовать текущий  формат. Выбираем кодировку UTF-8.
Разделитель поля ^ (домик на клавише 6). Разделитель текста ~ (тильда на клавише Ё). И сохраняем.
Затем идёт на хостинг или денвер в phpMyAdmin. Заходим в свою базу данных и ищем таблицу – xxxx_jshopping_categories, где xxx – это префикс вашей базы данных. Вот вы зашли в таблицу xxxx_jshopping_categories. Сверху, где меню, нужно нажать на импорт и нужно будет имортировать файл. В настройках: Формат – нужно выбрать (CVS, используя LOAD DATA); Параметры формата: разделители столбцов нужно указать ^ (домик на клавише 6). И самое главное это поле Название столбцов! В поле название столбцов нужно указать название столбцов, которое идёт в той же последовательности, что и документе Excel и через запятую. Вот так: category_image, category_parent_id, name_ru-RU, short_description_ru-RU, description_ru-RU, meta_title_ru-RU, meta_ description_ru-RU, meta_keyword_ru-RU

Если вы оставите это поле пустым, то произойдёт игнорирование последовательности и будут затронуты те таблицы, которые мы даже не указывали в файле.

После того как вы всё сделали, то жмите кнопку OK. Идём в Админку сайта и любуемся.

То же самое делаем и с товарами магазина. Можно импортировать и производителей, и цены, и характеристики – абсолютно всё!

Что касается проблемы массового изменения цен, то есть, у нас более 1000 товаров, а цены меняются каждые две недели. Что делать? Не седеть же целую ночь и изменять ручками цены. Это не проблема. В phpMyAdmin, в Параметрах формата, при импорте товаров, нажимаем галочку на Заместить данные таблицы данными из файла. При этом в файле должно быть два столбика: 1) Код продукта и 2) Изменённая цена. И всё. Жмёте ОК и цены изменяются.
Записан
skyrec
Давно я тут
****

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

Сообщений: 388


Люблю я детей !!!


« Ответ #1 : 21.02.2014, 21:26:29 »

Не осилил  Roll Eyes
Записан
Plazmodina
Давно я тут
****

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

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



« Ответ #2 : 21.02.2014, 21:51:14 »

Не осилил  Roll Eyes

А что тут трудного-то? Тяп ляп и готово!
Записан
skyrec
Давно я тут
****

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

Сообщений: 388


Люблю я детей !!!


« Ответ #3 : 21.02.2014, 23:16:19 »

А что тут трудного-то? Тяп ляп и готово!
Извините не удержался, вы как будто Сеалекс продаете ! Grin Grin Grin
Записан
Linfuby
Живу я здесь
******

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

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


Всё просто...


« Ответ #4 : 22.02.2014, 15:21:41 »

А что тут трудного-то? Тяп ляп и готово!
Переоцениваете силы пользователей.
А характеристики? А атрибуты? А дополнительные цены? Вы знаете как много не описали...
Если например это изображения, то по аналогии конечно можно... А вот с Характеристиками и атрибутам придется помучиться...
Записан
Saha_2014
Новичок
*

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

Сообщений: 1


« Ответ #5 : 24.03.2014, 12:12:50 »

Спасибо пользователю Plazmodina за то что указал путь  Cheesy

В инструкции есть только один недочет, который лично меня сбивал с толку. Когда осуществляется импорт в таблицу данных (phpMyAdmin), в поле параметры формата нужно не только указать разделитель поля ^ (домик на клавише 6), но и разделитель текста ~ (тильда на клавише Ё) - как это делалось при сохранении таблицы в редакторе OpenOffice в формат *.csv и определении кодировки UTF-8.

С учетом этого замечания все работает!

Комментарий Linfuby, так сказать, тоже имеет место быть, особенно насчет "...А характеристики? А атрибуты? А дополнительные цены? Вы знаете как много не описали...", но этому есть относительно простое решение - нужно вручную создать образец для подражания.

Суть способа:

1) вручную в JoomShopping создаем хоть одну категорию (если нужно и подкатегорию), а также хоть один товар - все это должно содержать все описания, которые считаете нужны внести;

2) идете в phpMyAdmin на сервере (денвере) и экспортируете соответствующие таблицы: xxxx_jshopping_categories, xxxx_jshopping_products (где xxxx - префикс базы данных). Необходимые настройки: Способ экспорта - "Обычный", формат – "CSV для MS Excel", параметры формата - поставить галочки на "Удалить из полей символы разрыва строк", "Поместить названия полей в первой строке", нажимаете "Ок". Файл скачивается. Открываете его в OpenOffice, и изучаете заголовки таблиц. Думаю, тут уже сами разберетесь Smiley;

3) от себя хочу добавить одно замечание: пока у меня самого получилось, "промучился" полдня меняя настройки и т.д. Не знаю насколько правильно (уже не осталось времени тестировать), но можно с экспортированной таблицы убрать пустые столбцы, а также столбцы под заголовками - для jshopping_categories -  "category_id", "category_publish", "category_ordertype", "category_template", "ordering", "category_add_date", "products_page", "products_row", "access". Может быть что значение это замечание имеет только касательно "category_id", но повторюсь, после таких манипуляций импорт был успешен, а проверять пока времени нет.

В принципе описаный пример работы может подойти к любым другим "разделам", "значениям" в joomshooping.

Также считаю, что описаный пример работы (в частности, по материалам Plazmodina и моим) заслуживает полного методического описания в виде пошаговой инструкции с илюстративным материалом, поскольку имеет особое значения для таких же как и я веб-"мастеров" которые не изучали phpMyAdmin. Буду рад если кто-то это сделает раньше меня. Общими усилиями ударим по рыночной стоимости коммерческих решений!

« Последнее редактирование: 24.03.2014, 12:20:23 от Saha_2014 » Записан
aslanamirov
Осваиваюсь на форуме
***

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

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


Ййехаа!


« Ответ #6 : 16.06.2014, 07:28:55 »

Здравствуйте! У вас есть магазин JoomShopping и список продукции? Вы не хотите сидеть долго и нудно и добавлять ручками каждый товар при условии что у вас 1000 товаров? Дефолтные (стандартные) плагины импорта не устраивают, а платные слишком дорого (не заработали)? Тогда я могу вам помочь! Я нашел метод как импортировать данные продукта из файла CVS прямо через компонент phpMyAdmin на хостинге или денвере.

Друг, а можно как нибудь настроить обновление товаров в ЖШ через мускул?
Я это представляю так: по уникальному значению поля обновляется цена, шоб не каждый раз грузить новые товары.
Записан
toly52
Новичок
*

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

Сообщений: 3


« Ответ #7 : 16.06.2015, 23:25:26 »

Добрый день
замечательная статья и все работает но одна проблема
в phpMyAdmin на сервере (MAMP) не могу найти таблицу xxxx_jshopping_products
xxxx_jshopping_categories присутствует
Записан
tkm
Осваиваюсь на форуме
***

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

Сообщений: 65


« Ответ #8 : 17.06.2015, 14:30:32 »

Добрый день
замечательная статья и все работает но одна проблема
в phpMyAdmin на сервере (MAMP) не могу найти таблицу xxxx_jshopping_products
xxxx_jshopping_categories присутствует

Просто плохо искали Azn
Записан
toly52
Новичок
*

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

Сообщений: 3


« Ответ #9 : 17.06.2015, 17:31:52 »

Еще раз поискал результат тот же
может подскажите пожалуйста!!
Записан
dmitry_stas
Профи
********

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

Сообщений: 7773



« Ответ #10 : 17.06.2015, 17:38:11 »

подсказать что? как найти таблицу в phpMyAdmin? так это вам документацию для phpMyAdmin читать надо.
http://prntscr.com/7i0d4f
Записан
toly52
Новичок
*

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

Сообщений: 3


« Ответ #11 : 18.06.2015, 21:19:52 »

Спосибо нашел
Записан
Ne01eX
Осваиваюсь на форуме
***

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

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



« Ответ #12 : 07.07.2015, 23:29:56 »

Спасибо за пост, буду пробовать.
Записан
utany
Новичок
*

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

Сообщений: 6


« Ответ #13 : 27.08.2015, 16:09:15 »

Подскажите где можно прочитать подробное назначение (описание) каждого поля в таблице хххх_jshopping_products, например,  access и currency_id
Записан
dmitry_stas
Профи
********

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

Сообщений: 7773



« Ответ #14 : 27.08.2015, 16:44:46 »

нигде. в базе. исследуя файлы ядра ЖШ. больше нигде. обучающей литературы из серии Для чайников к сожалению нет.
access - уровень доступа (то что в админке селект Public Register Special, таблица #__viewlevels)
currency_id - id валюты (таблица #__jshopping_currencies), заданной товару
Записан
utany
Новичок
*

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

Сообщений: 6


« Ответ #15 : 30.08.2015, 15:25:46 »

Добрый день. Хочу решить такую задачу:
 В БД в таблице хххх_jshopping_products я создала дополнительное поле godvp (год выпуска продукта) и импортировала туда данные. Теперь хочу чтобы на общей странице товаров (где показывается наименование, картинка, отзывы и т.д.) прописывались мои года выпуска из созданного поля.
За вывод данных этой страницы отвечает, как я понимаю, файл сomponents\com_jshopping\templates\default\list_products\product.php например, за вывод наименования
<?php print $product->name?> если бы нужно было бы вывести id продукта то я бы написала <?php print $product->product_id?> в этом файле и т.д.
Вот такой вопрос: в каком файле можно посмотреть каким образом происходит выгрузка данных из БД в name или в product_id для того что бы по аналогии выгрузить из БД из созданного мной поля данные (например в $god_vp) какие функции (методы) за это отвечают. Затем (если решиться проблема), я просто в файле сomponents\com_jshopping\templates\default\list_products\product.php допишу <?php print $product->god_vp?> Заранее благодарю за ответ.
Записан
error648398
Осваиваюсь на форуме
***

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

Сообщений: 180


« Ответ #16 : 30.08.2015, 15:42:29 »

Добрый день. Хочу решить такую задачу:
 В БД в таблице хххх_jshopping_products я создала дополнительное поле godvp (год выпуска продукта) и импортировала туда данные. Теперь хочу чтобы на общей странице товаров (где показывается наименование, картинка, отзывы и т.д.) прописывались мои года выпуска из созданного поля.
За вывод данных этой страницы отвечает, как я понимаю, файл сomponents\com_jshopping\templates\default\list_products\product.php например, за вывод наименования
<?php print $product->name?> если бы нужно было бы вывести id продукта то я бы написала <?php print $product->product_id?> в этом файле и т.д.
Вот такой вопрос: в каком файле можно посмотреть каким образом происходит выгрузка данных из БД в name или в product_id для того что бы по аналогии выгрузить из БД из созданного мной поля данные (например в $god_vp) какие функции (методы) за это отвечают. Затем (если решиться проблема), я просто в файле сomponents\com_jshopping\templates\default\list_products\product.php допишу <?php print $product->god_vp?> Заранее благодарю за ответ.

Как по мне есть есть 3 пути решения вашей проблемы.
1. - Самый легкий способ
 Присваиваем товару характеристику -  год выпуска продукта.
Выводим стандартными средствами переменную со значением характеристики.
2. - Самый костыльный способ.
 Делаем прямую выборку из БД в карточке данного поля (godvp), присваиваем результату переменную и выводим в нужном месте.
3. Самый трудный способ.
 Править файлы компонента.


Хотя надо смотреть, может данные с поля и передаются в карточку товара, и тогда второй способ будет самый глупый.
« Последнее редактирование: 30.08.2015, 15:49:45 от error648398 » Записан
utany
Новичок
*

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

Сообщений: 6


« Ответ #17 : 30.08.2015, 16:13:44 »

Как по мне есть есть 3 пути решения вашей проблемы.
1. - Самый легкий способ
 Присваиваем товару характеристику -  год выпуска продукта.
Выводим стандартными средствами переменную со значением характеристики.
2. - Самый костыльный способ.
 Делаем прямую выборку из БД в карточке данного поля (godvp), присваиваем результату переменную и выводим в нужном месте.
3. Самый трудный способ.
 Править файлы компонента.


Хотя надо смотреть, может данные с поля и передаются в карточку товара, и тогда второй способ будет самый глупый.

Спасибо за ответ. В том то и дело, что это просто пример. Я хочу решить задачу по тому как в файлах компоненты ЖШ прописать функцию (метод) присвоения значений поля БД переменной. Какой файл за это отвечает и какая функция?? Если кто-то уже решал такую проблему подскажите пожалуйста.
Записан
dmitry_stas
Профи
********

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

Сообщений: 7773



« Ответ #18 : 30.08.2015, 16:42:26 »

\components\com_jshopping\lib\jtableauto.php function getBuildQueryListProductDefaultResult
в return добавьте prod.god_vp
Записан
utany
Новичок
*

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

Сообщений: 6


« Ответ #19 : 30.08.2015, 17:22:32 »

\components\com_jshopping\lib\jtableauto.php function getBuildQueryListProductDefaultResult
в return добавьте prod.god_vp

СПАСИБО! СПАСИБО! Все работает. Это именно то, что и было мне нужно! Де строчки и Вы решили проблему, над которой я мучилась три дня. Вы настоящий Профессионал. (Не могу поставить Вам + в репутацию, наверное из-за того что у меня мало сообщений)! Еще раз СПАСИБО. Обещаю 2 дня не задавать вопросов.
Записан
error648398
Осваиваюсь на форуме
***

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

Сообщений: 180


« Ответ #20 : 30.08.2015, 18:49:22 »

\components\com_jshopping\lib\jtableauto.php function getBuildQueryListProductDefaultResult
в return добавьте prod.god_vp
Не подскажите где можно почитать инфо по компоненту подробнее ?
Записан
dmitry_stas
Профи
********

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

Сообщений: 7773



« Ответ #21 : 30.08.2015, 20:51:08 »

к сожалению нигде. книг серии "JoomShopping для чайников" или "Программирование JoomShopping для профессионалов" не существует. только смотреть файлы компонента.
Записан
anatolij
Осваиваюсь на форуме
***

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

Сообщений: 81


« Ответ #22 : 31.10.2015, 22:18:17 »

Добрый день. За что отвечает колонка category_ordertype в таблице _jshopping_categories
Записан
dmitry_stas
Профи
********

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

Сообщений: 7773



« Ответ #23 : 31.10.2015, 22:35:02 »

это загадка для потомков Azn
Записан
anatolij
Осваиваюсь на форуме
***

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

Сообщений: 81


« Ответ #24 : 31.10.2015, 22:42:03 »

это загадка для потомков Azn
+ отличный ответ
Записан
Berzerker
Захожу иногда
**

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

Сообщений: 15



« Ответ #25 : 06.11.2015, 06:17:24 »

Всегда лучше создать промежуточные таблицы и загрузить в них данные, а уже затем скл-запросами распихивать по нужным таблицам. Чтобы работать с базой напрямую нужно иметь опыт в сиквеле, иначе будет труба всему.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

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