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

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Сын моего близкого друга участвует в конкурсе где предполагается поездка в Сочи на Олимпийские игры, помогите пожалуйста поднять рейтинг при помощи голосов.
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

wishlight

  • Гуру
  • 5062
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
Re: Народ нужно поднять в голосовании
« Ответ #1 : 16.11.2013, 18:08:03 »
Каким образом?
*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Re: Народ нужно поднять в голосовании
« Ответ #2 : 16.11.2013, 19:39:08 »
Каким образом?
Нажимаешь на кнопку Голосовать, указываешь соцсеть и все.
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

fsv

  • Живу я здесь
  • 2781
  • 411 / 2
Re: Народ нужно поднять в голосовании
« Ответ #3 : 16.11.2013, 20:30:25 »
Нажимаешь на кнопку Голосовать, указываешь соцсеть и все.
Не вижу ЗДЕСЬ кнопки "Голосовать". И ссылки не вижу.

поэтому:
Цитировать
Каким образом?
Веб-разработка: заказ. Только новая разработка.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Народ нужно поднять в голосовании
« Ответ #4 : 16.11.2013, 21:51:30 »
Нажимаешь на кнопку Голосовать, указываешь соцсеть и все.
осталось только найти троюродного племянника друга моей подруги)
*

Apoca1ypto

  • Давно я тут
  • 749
  • 71 / 0
Re: Народ нужно поднять в голосовании
« Ответ #5 : 16.11.2013, 23:28:20 »
Похоже в Сочи так никто и не поедет =))))
Во время спора в Интернете Ваш оппонент приводит неопровержимые доказательства своей точки зрения? Не отчаивайтесь. До...тесь до орфографии.
*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Re: Народ нужно поднять в голосовании
« Ответ #6 : 17.11.2013, 00:05:31 »
Ссылка на страницу
http://sportsfamily.playmcdonalds.ru/invoices/97
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

fsv

  • Живу я здесь
  • 2781
  • 411 / 2
Re: Народ нужно поднять в голосовании
« Ответ #7 : 17.11.2013, 00:43:32 »
Отметился. Классный парень. Успехов ему!
Веб-разработка: заказ. Только новая разработка.
*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Re: Народ нужно поднять в голосовании
« Ответ #8 : 17.11.2013, 09:14:26 »
Отметился. Классный парень. Успехов ему!
Спасибо.
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

wishlight

  • Гуру
  • 5062
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
*

AdWeb

  • Давно я тут
  • 878
  • 31 / 3
Re: Народ нужно поднять в голосовании
« Ответ #10 : 17.11.2013, 19:22:46 »
пусть запишется волонтером 8)
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Re: Народ нужно поднять в голосовании
« Ответ #11 : 17.11.2013, 20:08:48 »
Волонтеры сами до Сочи добираются и за свой счет
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Народ нужно поднять в голосовании
« Ответ #12 : 17.11.2013, 20:39:14 »
Проголосовала - но что-то голосов как было 159, так и осталось. Там не моментальное обновление идет?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Apoca1ypto

  • Давно я тут
  • 749
  • 71 / 0
Re: Народ нужно поднять в голосовании
« Ответ #13 : 17.11.2013, 20:47:35 »
Кстати, а из этого списка сколько будет победителей =))) Если только один, то тут нужно просить все Joomla сообщество голосовать т.к. у первого места очень много голосов =))))
Во время спора в Интернете Ваш оппонент приводит неопровержимые доказательства своей точки зрения? Не отчаивайтесь. До...тесь до орфографии.
*

skyrec

  • Захожу иногда
  • 382
  • 10 / 0
  • Люблю я детей !!!
Re: Народ нужно поднять в голосовании
« Ответ #14 : 18.11.2013, 02:00:01 »
Проголосовал )
*

THE KILLERS

  • Давно я тут
  • 932
  • 28 / 0
Re: Народ нужно поднять в голосовании
« Ответ #15 : 18.11.2013, 02:08:06 »
Проголосовал)
*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Re: Народ нужно поднять в голосовании
« Ответ #16 : 18.11.2013, 11:15:24 »
Кстати, а из этого списка сколько будет победителей =))) Если только один, то тут нужно просить все Joomla сообщество голосовать т.к. у первого места очень много голосов =))))
Из этого списка 250 человек отберут, затем 160 из остававшихся.


Всем спасибо за поддержку!
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

skai

  • Завсегдатай
  • 1198
  • 153 / 1
  • skaiseo
Re: Народ нужно поднять в голосовании
« Ответ #17 : 21.11.2013, 21:25:10 »
я наверное туплю, но по указанному адресу кнопку «голосовать» я так и не нашёл.
- кто-нибудь, сделайте пожалуйста для меня скрин кнопки «голосовать» .. шары разул - не вижу.
..однако юзабельность сайта на высоте.
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

fsv

  • Живу я здесь
  • 2781
  • 411 / 2
Re: Народ нужно поднять в голосовании
« Ответ #18 : 22.11.2013, 00:41:36 »
кнопку «голосовать» я так и не нашёл.
http://sportsfamily.playmcdonalds.ru/news/6
Цитировать
21 ноября  Этап народного голосования завершился
Веб-разработка: заказ. Только новая разработка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Друзья. Коллеги. Поддержите в голосовании! :-)

Автор ecolora

Ответов: 7
Просмотров: 1449
Последний ответ 26.05.2015, 07:03:39
от vipiusss
Срочняком поднять голос в голосовании

Автор Фей

Ответов: 5
Просмотров: 1477
Последний ответ 19.10.2013, 11:16:41
от artel-st
Народ, кому нужен аккаунт wot? Аукцион

Автор wishlight

Ответов: 15
Просмотров: 3049
Последний ответ 05.06.2013, 10:56:03
от NightGuard
В каких случаях нужно использовать gzip сжатие?

Автор Sulpher

Ответов: 8
Просмотров: 5646
Последний ответ 31.10.2012, 20:12:39
от Uman