Новости 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 Гость просматривают эту тему.
  • 7 Ответов
  • 888 Просмотров
*

masterbos

  • Осваиваюсь на форуме
  • 37
  • 1 / 2
  • Ты уверен?
Прошу знатоков помочь в поиске решения проблемы.

При попытке добавить товар или при его редакции выскакивает такая ошибка:

 1054 Unknown column 'Array' in 'where clause' SQL=SELECT * FROM #__jshopping_categories WHERE Array = '182'

Проблема появилась после попытки импорта.

Сперва обнаружились некорректные записи товаров и категорий, после исправления выявилась данная проблема.
Не могу банально разобраться на что именно указывает ошибка. Чего именно не хватает, где копать...

Буду благодарен любой подсказке.

Joomla 3.5.1
JoomShopping 4.13.0
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Проблема добавления товара
« Ответ #1 : 24.05.2016, 14:04:48 »
есть категория с ИД 182 ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

masterbos

  • Осваиваюсь на форуме
  • 37
  • 1 / 2
  • Ты уверен?
Re: Проблема добавления товара
« Ответ #2 : 24.05.2016, 14:46:42 »
Да, есть.

Id категории выводится все время разное, в зависимости от того, к какой категории пытаюсь привязать товар.
*

masterbos

  • Осваиваюсь на форуме
  • 37
  • 1 / 2
  • Ты уверен?
Re: Проблема добавления товара
« Ответ #3 : 24.05.2016, 14:53:31 »
Еще один момент, может поможет понять проблему.

При импорте были обновлены категории. Старые записи пришлось почистить в базе, в том числе и привязку товаров к категориям ххх_jshopping_products_to_categories

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

Привязку меню к категориям так же удалил на всякий случай.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Проблема добавления товара
« Ответ #4 : 24.05.2016, 15:35:15 »
Плагины / Аддоны для JoomShopping ?
*

masterbos

  • Осваиваюсь на форуме
  • 37
  • 1 / 2
  • Ты уверен?
Re: Проблема добавления товара
« Ответ #5 : 24.05.2016, 16:50:01 »
Да уже все пробую...

Надеялся на подсказку какую-нибудь...  :(

Худшее, чего боюсь - придется сносить все товары и закачивать все заново... А это приличный массив... Так еще и ссылочную массу можно растерять...
*

masterbos

  • Осваиваюсь на форуме
  • 37
  • 1 / 2
  • Ты уверен?
Re: Проблема добавления товара
« Ответ #6 : 24.05.2016, 16:58:33 »
Плагины / Аддоны для JoomShopping ?

Отключил вообще все плагины... Сработало... Товар сохранился.
Буду планомерно подключать и смотреть, где собака зарыта.

Спасибо за участие.

Думаю, можно закрыть
« Последнее редактирование: 24.05.2016, 17:06:47 от masterbos »
*

InsideMe

  • Новичок
  • 5
  • 0 / 0
Re: Проблема добавления товара
« Ответ #7 : 27.05.2016, 11:16:53 »
Худшее, чего боюсь - придется сносить все товары и закачивать все заново... А это приличный массив... Так еще и ссылочную массу можно растерять...
Не придется. Просто какой-то плагин неверно модифицирует sql запрос на выборку категорий из-за ошибки в скрипте. В Array (в переводе с английского - массив) обычно содержится ассоциативный массив, в данном случае должен быть список полей и значений для фильтра (для списка ограничений выборки WHERE )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 13
Просмотров: 4377
Последний ответ 29.01.2025, 20:38:38
от sergeytolkachyov
Видео с Youtube вместо картинки на карточке товара

Автор ksena

Ответов: 35
Просмотров: 10215
Последний ответ 08.10.2024, 04:26:36
от kit2m2
Условие для кол-ва товара больше нуля

Автор kik84

Ответов: 3
Просмотров: 1336
Последний ответ 16.02.2024, 13:33:24
от kit2m2
Убрать модуль в карточке товара JoomShopping

Автор alexkraym

Ответов: 35
Просмотров: 5779
Последний ответ 21.08.2023, 07:17:53
от delchev
Проблема с фото в карточке товара

Автор astapon

Ответов: 18
Просмотров: 2176
Последний ответ 24.04.2023, 12:37:50
от kit2m2