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

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
JBlank. подсказки в форме
« : 25.01.2015, 09:45:03 »
Здравствуйте!

Подскажите как подправить всплывающие подсказки в форме регистрации?

Выводятся при наведении на label поля.

Скриншот прикрепил.
Мой сайт про корабли
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: JBlank. подсказки в форме
« Ответ #1 : 25.01.2015, 10:46:27 »
Необходимо переопределить в шаблоне com_content вывод полей сделать напрямую, в обход штатного объявления в XML.
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: JBlank. подсказки в форме
« Ответ #2 : 25.01.2015, 15:08:20 »
А можно по подробней? Я открыл шаблон по адресу: \components\com_users\views\registration\tmpl\default.php
и не знаю что дальше делать.
Мой сайт про корабли
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: JBlank. подсказки в форме
« Ответ #4 : 25.01.2015, 17:01:05 »
Может там просто стилей не хватает?

Спойлер
[свернуть]
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JBlank. подсказки в форме
« Ответ #5 : 25.01.2015, 17:20:21 »
Mick_20 покажите сайт ибо об этом можно только гадать.
У вас как бы нестандартно выводится закладка. И виноват в этом ваш шаблон
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: JBlank. подсказки в форме
« Ответ #6 : 25.01.2015, 18:58:40 »
Вот страница регистрации: http://uportfolio.ru/registration.html
мне просто потушить подсказки... я справа от полей напишу их.


...вставил CSS стили и стало отображдаться нормально. а как скрыть?
« Последнее редактирование: 25.01.2015, 19:03:45 от Mick_20 »
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: JBlank. подсказки в форме
« Ответ #7 : 25.01.2015, 19:49:53 »
Сделал вот так:

Код: php
<div class="control-group">
<div class="control-label">
<strong><?php echo strip_tags($field->label); ?></strong>
<?php if (!$field->required && $field->type != 'Spacer') : ?>
<span class="optional"><?php echo JText::_('COM_USERS_OPTIONAL');?></span>
<?php endif; ?>
</div>
<div class="controls">
<?php echo $field->input;?>
</div>
</div>

Нашел здесь: http://joomlaforum.ru/index.php?topic=292089.0

Но там почему-то рассматривался файл шаблона в папке remind.

Поэтому цвет звездочек не смог сделать красным. Можно как-то применить для моего случая?
Мой сайт про корабли
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: JBlank. подсказки в форме
« Ответ #8 : 25.01.2015, 20:06:16 »
Можно, именно это я и имел ввиду выше.

Звездочки красными сделайте стилями:
Код: css
.star,.optional {color:red;}
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: JBlank. подсказки в форме
« Ответ #9 : 25.01.2015, 20:31:08 »
Дак там же все теги вырезались. И звездочи тепрь просто звездочки без класса
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: JBlank. подсказки в форме
« Ответ #10 : 31.01.2015, 15:19:23 »
вопрос решен.
решение в Ответ #7

тема закрыта. спасибо за помощь) +++
Мой сайт про корабли
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменить верстку дополнительного поля Radio в форме создания материала

Автор spro1

Ответов: 4
Просмотров: 916
Последний ответ 10.09.2020, 18:17:45
от sivers
Изменить стандартные заголовки label в форме добавления материала

Автор Gover

Ответов: 2
Просмотров: 1031
Последний ответ 03.03.2018, 22:21:00
от Gover
Странные всплывающие подсказки для labels в форме обратной связи

Автор Olg

Ответов: 9
Просмотров: 3088
Последний ответ 14.01.2017, 01:34:20
от dron
Странные всплывающие подсказки

Автор NisXan

Ответов: 3
Просмотров: 1160
Последний ответ 05.07.2016, 10:14:28
от umbabaraumba
Как сделать в форме обратной связи поля необязательными для заполнения?

Автор alex8ebber

Ответов: 10
Просмотров: 4849
Последний ответ 21.11.2015, 18:44:58
от off-182