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

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Обнаружена ошибка
« : 15.06.2015, 22:09:30 »
Компонент AlphaUserPoints v2.0.0 не устанавливается на версию Joomla 3.3.3. При установке Выводится сообщение:
Цитировать
Обнаружена ошибка.
1146 Table '1.joom_alpha_userpoints' doesn't exist SQL=SELECT id FROM joom_alpha_userpoints WHERE `userid`='0' AND `referreid`='GUEST'

Данная ошибка, только у меня или AlphaUserPoints v2.0.0 не поддерживает версию Joomla 3.3.3?
*

migus

  • Moderator
  • 992
  • 144 / 0
  • OPEN THE BOX
Re: Обнаружена ошибка
« Ответ #1 : 15.06.2015, 22:17:00 »
AUP 2.0.0 должен нормально устанавливаться на все версии Joomla линейки 3.x.x
А что это у вас такой префикс таблиц странный?
Другие компоненты устанавливаются без ошибок?
"The Lord Of A SandBox"
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Обнаружена ошибка
« Ответ #2 : 16.06.2015, 19:33:07 »
Префикс таблиц такой я придумал сам во время установки Joomla.
Компоненты другие, а также модули устанавливаются без подобных ошибок.

Также при установке AUP появляется другая похожая ошибка:
Цитировать
Обнаружена ошибка.
1146 Table '1.joom_alpha_userpoints' doesn't exist SQL=SELECT referreid FROM joom_alpha_userpoints WHERE `userid`='557'

Скриншот ошибки: http://rghost.ru/7tTHh7cTK.view

*

migus

  • Moderator
  • 992
  • 144 / 0
  • OPEN THE BOX
Re: Обнаружена ошибка
« Ответ #3 : 17.06.2015, 00:57:54 »
У вас была некорректная первая установка. Вы пробовали удалить компонент через менеджер расширений?
Скорее всего остались старые таблицы.
1. Попробуйте корректно снести AUP через менеджер расширений.
2. Проверьте в БД, если остались таблицы с "ваш префикс_alpha_userpoints_" в имени - удалите их все.
3. Выполните чистую установку.

- удачи ;)
"The Lord Of A SandBox"
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Обнаружена ошибка
« Ответ #4 : 17.06.2015, 18:05:00 »
migus Вы правы! После переустановки Joomla и вновь установленного компонента AUP ошибка пропала. Установка прошла успешно!
Спасибо за внимание!
*

AdWeb

  • Давно я тут
  • 878
  • 31 / 3
Re: Обнаружена ошибка
« Ответ #5 : 25.12.2015, 15:18:10 »
вопрос эт у меня косяк или в последней версии  плагина интеграции ауп с куненой косяк тк при включении плагина и попытке входа в профиль пользователя Kunena, страница крешится и выдает вместо
Код
мойсайт/my-profile
такое
Код
мойсайт/component/alphauserpoints/account/profile?Itemid=
и
Код
Warning: array_merge(): Argument #2 is not an array in /home/virtwww/мойсайт/http/libraries/cms/router/router.php on line 350 Fatal error: Unsupported operand types in /home/virtwww/мойсайт1/http/libraries/cms/router/router.php on line 234 
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

SolopoV

  • Давно я тут
  • 576
  • 16 / 0
  • зеленею...
Re: Обнаружена ошибка
« Ответ #6 : 31.07.2016, 08:22:24 »
Аналогичная ошибка (Joomla 3.6):

Код
 Unsupported operand types
...\libraries\cms\router\router.php:234

229 }
230
231 // Parse SEF URL
232 if ($this->_mode == JROUTER_MODE_SEF)
233 {
234 $vars += $this->_parseSefRoute($uri);

При просмотре профиля продавца в компоненте vmvendor.

Переустановить компонент?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AlphaUserPoints - Ошибка

Автор Alexander_Fyodorov

Ответов: 0
Просмотров: 3249
Последний ответ 25.11.2019, 13:55:17
от Alexander_Fyodorov
Ошибка при загрузке авы

Автор Katya

Ответов: 3
Просмотров: 1567
Последний ответ 21.05.2015, 12:48:12
от migus
alpha userpoints ошибка при установке правил 1136

Автор terveg

Ответов: 1
Просмотров: 2134
Последний ответ 29.09.2014, 10:15:37
от migus
AlphaUserPoints ошибка

Автор Argin

Ответов: 3
Просмотров: 2239
Последний ответ 11.06.2013, 10:00:38
от migus
ошибка при установке v 1.5.13

Автор Dimir

Ответов: 1
Просмотров: 2372
Последний ответ 11.08.2012, 20:54:57
от migus