Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 1530 Просмотров
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Хочу перетащить магазин с J 2.5, JS 3.20.2 (хост) на JS 3.4, JS 4.9.2 (локалка)
Старый магазин пока работает, но перед размещением нового хочу перетащить ТОЛЬКО данные по товарам.
Изображение, Название, Категория, Производитель, Код товара, Количество, Цена, Публикация.  
Подскажите пожалуйста, какие таблицы отвечают за категории и ТОЛЬКО вышеперечисленные данные
(что бы лишнего не трогать)?

P.S. Все данные, до этого были благополучно перенесены с JS 3.20 на JS 4.8, но произошли изменения в ценовой политике, добавлены несколько позиций, поэтому требуется перенести только указанные данные.

Спасибочки за понимание!
« Последнее редактирование: 09.04.2015, 14:35:34 от Гринвич »
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Re: Экспорт товаров на новый сайт
« Ответ #1 : 30.03.2015, 22:57:17 »

P.S. Все данные, до этого были благополучно перенесены с JS 3.20 на JS 4.8, но произошли изменения в ценовой политике,
добавлены несколько позиций, поэтому требуется перенести только указанные данные.

Спасибочки за понимание!
как вариант:
взять бэкап успешно мигрировшего на 4,8 старого сайта.
развернуть его на локале.
продолжить обновление до 4,9,2. также можно/нужно удалить установленные аддоны.
после чего экспортировать все таблицы связанные с JoomSopping в файл.sql .
открыть базу нового сайта и удалить из неё таблицы магазина.
после чего импортировать, сохраненный ранее, файл в базу нового сайта.
заливаем папку \components\com_jshopping\files\ из старого сайта на новый.
после чего можно отправляться в админку нового(локального) сайта и вносить нужные изменения в ценовую политику, инфу о магазине и т.д.
« Последнее редактирование: 30.03.2015, 23:01:59 от ViktorMah »
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #2 : 31.03.2015, 02:17:35 »
Спасибо, но наверное я неправильно задал вопрос!
Все обновления давно уже сделаны и прекрасно работают!

Изменения сейчас вносятся на рабочем сайте!
Всё, что с него нужно перенести перед заливкой (или уже на хосте), это цены (основное)
и данные по товарам, что бы ничего не перепуталось и НЕ затрагивались остальные данные.

Изображение, Название, Категория, Производитель, Код товара, Количество, Цена, Публикация.
Атрибутов у товаров нет.

Задам вопрос по другому!
Есть ли какие либо таблицы отвечающие за выделенные мной данные, по мимо таблиц группы #_jshopping_products?
---------------------
Понимаю что для программистов-Гуру это нелепый и наивный вопрос, но мне лично хочется получить
на него ответ, дабы не было разного рода сюрпризов, по окончанию работы над новым сайтом.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Экспорт товаров на новый сайт
« Ответ #3 : 31.03.2015, 08:19:23 »
если сайт рабочий и на нем не только добавлялись товары то тогад еще заказы, пользователи и т.д.
1. таблица производителей если добавлялись
2. таблица характеристик если создавались.
3. таблица пользователей (это самое прикольное, простого переноса недостаточно.)
4. таблица заказов.

Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Re: Экспорт товаров на новый сайт
« Ответ #4 : 31.03.2015, 08:47:48 »
этот пост к
Цитировать
...произошли изменения в ценовой политике,....

буквально в пару дней назад проделывал описанные, мной, выше действия, при миграции с 3.16 на 4.9.2, т.к. не было нужды переносить мусор установленный на Joomla 2.5 .

и в процессе выяснилось, что хозяин магазина изначально накосячил с валютой магазина и ценами.(магазин в зоне .by)
пришлось производить следующие запросы в БД:

т.к цены были заданы в виде 100.000руб. , а должны были иметь такой вид 100 000 BYR
Код: sql
UPDATE `преф_jshopping_products` SET `product_price`=`product_price`*1000

UPDATE `преф_jshopping_products` SET `min_price`=`min_price`*1000
дальше исправления для заказов и статистики магазина
Код: sql
UPDATE `преф_jshopping_orders` SET `order_total`=`order_total`*1000

UPDATE `преф_jshopping_orders` SET `order_subtotal`=`order_subtotal`*1000

UPDATE `преф_jshopping_orders` SET `order_tax`=`order_tax`*1000

UPDATE `преф_jshopping_orders` SET `currency_code` = 'BYR'

UPDATE `преф_jshopping_orders` SET `currency_code_iso` = 'BYR'

update `преф_jshopping_orders` set `order_created` = 1

update `преф_jshopping_orders` set `order_status` = 7

благо у магазина была включена - покупка без регистрации. что сняло проблемы с переносом пользователей.

Цитировать
Правильный запрос в БД творит чудеса

на новый сайт в принципе, если логически, не нужны таблицы пользователей и заказов
« Последнее редактирование: 31.03.2015, 10:29:15 от ViktorMah »
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #5 : 31.03.2015, 13:32:20 »
если сайт рабочий и на нем не только добавлялись товары то тогад еще заказы, пользователи и т.д.
1. таблица производителей если добавлялись
2. таблица характеристик если создавались.
3. таблица пользователей (это самое прикольное, простого переноса недостаточно.)
4. таблица заказов.
1) Нет
2) Нет
3) Согласен, не подумавши. :)
4) Не важно. То что есть, достаточно.
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #6 : 02.04.2015, 02:47:27 »
Фигня дело!
Поэксперементировал с переносом данных только по товару.
Сделал исправления по ценам, создал новые позиции, перетащил таблицы из группы #_jshopping_products
Все данные прекрасно обновились, кроме картинок.

Что то с картинками не сработало! Картинки перетащил, кеш почистил но всё равно не помогло.
Так же пробовал перетащить все таблицы магазина (кроме #_jshopping_addons). Не фунциклирует.
Очевидно какая то другая таблица отвечает за данные по картинкам.
Подскажите пожалуйста?
« Последнее редактирование: 02.04.2015, 04:26:43 от Гринвич »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Экспорт товаров на новый сайт
« Ответ #7 : 02.04.2015, 08:19:13 »
видимо #__jshopping_products_images
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #8 : 02.04.2015, 11:31:34 »
видимо #__jshopping_products_images
Я  Неправильно выразился
Цитировать
Все данные прекрасно обновились, кроме картинок.
Все данные прекрасно обновились, кроме новых картинок.

Всё верно.
Спойлер
[свернуть]
« Последнее редактирование: 02.04.2015, 11:41:41 от Гринвич »
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Re: Экспорт товаров на новый сайт
« Ответ #9 : 02.04.2015, 12:17:32 »
Обратите внимание на эту тему http://joomlaforum.ru/index.php/topic,300692.0.html

И перед переносом Базы - на доноре нужно удалить аддоны. Перенести и поставить аддоны по новой.
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #10 : 02.04.2015, 12:46:53 »
Обратите внимание на эту тему http://joomlaforum.ru/index.php/topic,300692.0.html

И перед переносом Базы - на доноре нужно удалить аддоны. Перенести и поставить аддоны по новой.
Спасибки, будем пробывать.
Наверное на принимающем сайте тоже нужно все аддоны удалить, перед переносом данных по товарам?
« Последнее редактирование: 02.04.2015, 12:55:14 от Гринвич »
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Re: Экспорт товаров на новый сайт
« Ответ #11 : 02.04.2015, 19:02:17 »
Да лучше удалить на обоих
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #12 : 02.04.2015, 23:13:54 »
Да лучше удалить на обоих
Попробую чуть позднее. Обязательно отпишусь.
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #13 : 09.04.2015, 14:33:08 »
Долго танцевал с аддонами (отключал, удалял, ну всего такого разного)
но изображения так и не появились.
На самом всё оказалось намного проще:
Перетащил все таблицы из группы #_jshopping_products (16 штук), скопировал картинки на локалку
и уже на новом сайте нужно зайти в настройки товара, вкладка "Фото", где поставить галочку
на "Установить основное изображение", сохранить и радоваться.
« Последнее редактирование: 09.04.2015, 14:36:30 от Гринвич »
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #14 : 27.04.2015, 00:55:30 »
Ещё есть один вопросик.
Как можно перенести ТОЛЬКО ЦЕНЫ, ничего более?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Экспорт товаров на новый сайт
« Ответ #15 : 27.04.2015, 10:49:00 »
таблица #_jshopping_products, столбец product_price
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Экспорт товаров на новый сайт
« Ответ #16 : 28.04.2015, 14:39:55 »
таблица #_jshopping_products, столбец product_price
Это я в курсе. Я не могу разобраться, как мне экспортировать именно один столбец.
Никогда этого не делал. :o  Подскажите пожалуйста!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35712
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2048
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1359
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 0
Просмотров: 1536
Последний ответ 24.12.2024, 14:50:42
от sergeytolkachyov
Сортировка товаров в админке

Автор Emotion

Ответов: 26
Просмотров: 6716
Последний ответ 15.08.2024, 08:00:20
от kit2m2