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

mkt

  • Захожу иногда
  • 76
  • 0 / 0
Здравствуйте, уважаемые форумчане - гуру по VirtueMart.

У меня такая проблема.

Клиент проходит регистрацию, пишет свой адрес и т.д. Все вроде бы хорошо работает и в админке все нормально показывается. Но стоит ему поменять информацию (адрес, имя и т.д), информация о нем остается прежней в админке (то есть та которая была до изменения данных), хотя у него она остается измененной. Как решить данную проблему, может кто сталкивался с этой бедой. поиск по форуму мне ничего не дал...  !

ps virt 1.1.9 Joomla 1.5
« Последнее редактирование: 21.12.2012, 16:33:39 от mkt »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
информация о нем остается прежней в админке (то есть та которая была до изменения данных), хотя у него она остается измененной.
Не понял, инфо о клиенте хранится в БД на сервере, а не у клиента. Либо вы не там смотрели, либо в админке выводится только основной адрес. Почистите кэш.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mkt

  • Захожу иногда
  • 76
  • 0 / 0
Не понял, инфо о клиенте хранится в БД на сервере, а не у клиента. Либо вы не там смотрели, либо в админке выводится только основной адрес. Почистите кэш.

Так вот я сам в шоке почему так, я знаю что вся инфа в БД хранится... Сам думал кеш почистить и все, но ничего не помогает, возможно я его не там чищу... ИНСТРУМЕНТЫ - ОЧИСТИТЬ КЕШ, так? Или для VirtueMart есть своя кнопка ?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Если вы не изменили адрес, а добавили адрес доставки, то в админке действительно он может не выводиться.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mkt

  • Захожу иногда
  • 76
  • 0 / 0
Если вы не изменили адрес, а добавили адрес доставки, то в админке действительно он может не выводиться.
Действительно наверно он так и сделал, так как в заказе который он сделал перед правкой я так и не увидел изменений, а зайдя к нему в личную информацию, там действительно поменялось. Спасибо за участие. Зря наверное тему открыл можно удалить.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Адрес доставки на странице подтверждения заказа

Автор sa1981

Ответов: 21
Просмотров: 2878
Последний ответ 15.05.2013, 01:29:26
от artlux
Как создать заказ в админке VM?

Автор zz84

Ответов: 5
Просмотров: 2699
Последний ответ 05.04.2013, 06:56:34
от M@X1M
Пропадает адрес

Автор Dimir

Ответов: 10
Просмотров: 2098
Последний ответ 11.03.2013, 00:25:53
от robert
На адрес администратора не приходят уведомления о заказах

Автор davidush

Ответов: 0
Просмотров: 1332
Последний ответ 21.02.2013, 17:16:04
от davidush
Добавить поле "телефон" в списке заказов а админке

Автор hudoy

Ответов: 10
Просмотров: 2862
Последний ответ 12.01.2013, 09:28:21
от SolopoV