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

lehantrop

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Имя пользователя : 11111111
ID : 55D23E5C040F2
Мой рейтинг : 100003.00 (Gold member)
Последнее обновление : 19.08.2015 17:15
Зарегистрирован с : 14 Июль 2015
Последняя активность : 10 минуты тому назад
Просмотров профиля : 5
Реферальная пригласительная ссылка
(можно скопировать эту ссылку в письмо, чтобы пригласить друзей для регистрации на этом сайте).


Нужно убрать пункт с ID и Реферальная пригласительная ссылка, как саму ссылку так и эту надпись
*

lehantrop

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: Как убрать пункт в профиле?
« Ответ #1 : 25.08.2015, 22:02:05 »
Так ID убрал, ищу как ссылку спрятать...

Всё, задача решена полностью
« Последнее редактирование: 25.08.2015, 22:18:20 от lehantrop »
*

samarin20061

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Как убрать пункт в профиле?
« Ответ #2 : 12.09.2015, 18:42:02 »
Ну так поделись пожалуйста решением... ;)
*

Gordon Freeman

  • Захожу иногда
  • 117
  • 7 / 0
Re: Как убрать пункт в профиле?
« Ответ #3 : 12.09.2015, 18:53:53 »
Ну так поделись пожалуйста решением... ;)

Да здесь все просто!
Файл: default.php (\components\com_alphauserpoints\views\account\tmpl)
Строка: 67 - ID

Реферальная пригласительная ссылка
Строка: с 97 по 113 - Удалить
*

samarin20061

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Как убрать пункт в профиле?
« Ответ #4 : 12.09.2015, 22:32:06 »
Спасибо огромное, а есть ли возможность скрыть пункт в профиле Последняя активность от других пользователей, что бы только владелец профиля мог видеть.
Предоставить доступ   НЕТ  -  не помогает, или где то настроить можно?
*

Gordon Freeman

  • Захожу иногда
  • 117
  • 7 / 0
Re: Как убрать пункт в профиле?
« Ответ #5 : 13.09.2015, 08:30:37 »
а есть ли возможность скрыть пункт в профиле Последняя активность от других пользователей

Нет. Но это можно сделать добавит чуть-чуть кода...
В файл: default.php (\components\com_alphauserpoints\views\account\tmpl)
Опускайся до 848 строки. У тебя там будет...
Код
// LATEST ACTIVITY
Значит в 849 строку замени полностью на нижеуказанный код
Код
if ( $this->params->get( 'num_item_activities' )!='0' && $this->rowslastpoints && $user->get('username') === $this->myusername ) {
Вот и все, теперь другие пользователи видеть активность другого не будут!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать рекламу в личном кабинете AlphaUserPoints, CommunityBuilder?

Автор Sirius02030

Ответов: 0
Просмотров: 4226
Последний ответ 18.12.2016, 14:38:33
от Sirius02030
AlphaUserPoints 2.0 пункт "О себе" в личном кабинете проблема

Автор lehantrop

Ответов: 3
Просмотров: 1606
Последний ответ 03.10.2015, 11:37:16
от lehantrop
Как использовать AUP только для отображения медалей в профиле и на форуме?

Автор scientificman

Ответов: 8
Просмотров: 1955
Последний ответ 23.03.2014, 07:37:06
от migus
Подправить последнюю активность в профиле

Автор Brain1nside

Ответов: 6
Просмотров: 1849
Последний ответ 21.10.2013, 22:02:53
от Brain1nside
Как убрать весь хлам?

Автор stavsid

Ответов: 2
Просмотров: 1602
Последний ответ 17.09.2013, 15:00:27
от stavsid