Новости 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 Ответов
  • 2314 Просмотров
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Добрый день,  с 1 тюля 2017 года у нас в стране РБ  нехило вырастут штрафы за отсутствие текста и галочки  "Согласие на обработку персональных данных". Хотел уточнить как это реализовать. Попробовал сделать через статический текст Условия предоставления услуг, однако не могу найти на форуме как сделать чтобы галочка http://prntscr.com/fpvlpp была включена по дефолту. Либо есть какие-то другие способы сделать "Согласие на обработку персональных данных"
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Воспользуйтесь поиском, недавно 2 темы обсуждали, куда галочку вставлять и как делать активной кнопку при соглашении.
А в ЖШ есть перед покупкой ПРАВИЛА и вторые правила, измените название, текст.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

rkron

  • Захожу иногда
  • 316
  • 7 / 0
Добрый день,  с 1 тюля 2017 года у нас в стране РБ  нехило вырастут штрафы за отсутствие текста и галочки  "Согласие на обработку персональных данных". Хотел уточнить как это реализовать. Попробовал сделать через статический текст Условия предоставления услуг, однако не могу найти на форуме как сделать чтобы галочка http://prntscr.com/fpvlpp была включена по дефолту. Либо есть какие-то другие способы сделать "Согласие на обработку персональных данных"
http://joomlaforum.ru/index.php/topic,339032.new.html
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Воспользуйтесь поиском, недавно 2 темы обсуждали, куда галочку вставлять и как делать активной кнопку при соглашении.
А в ЖШ есть перед покупкой ПРАВИЛА и вторые правила, измените название, текст.
Да, вот тоже помню, но уже час ищу, не могу найти, нашел только типо такого http://joomlaforum.ru/index.php/topic,337195.0.html , но все не то...Как эту галочку утсановить по умолчанию...было ж раньше, точно помню. Давно 2 темы были?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Да, вот тоже помню, но уже час ищу, не могу найти

http://joomlaforum.ru/index.php/topic,339173.0.html
Одна из них.

А в ЖШ есть перед покупкой ПРАВИЛА и вторые правила, измените название, текст.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Vovansk

  • Захожу иногда
  • 56
  • 2 / 0
А в ЖШ есть перед покупкой ПРАВИЛА и вторые правила, измените название, текст.
День добрый!
Документы типа "Согласие на обработку", наверно, не все пишут сами и по этому тексты могут оказаться не очень авторские. Не SEO...
В другом случае я сделал их в pdf, сложил в папку, запретил в robots и в ссылки добавил rel="nofollow noopener noreferrer".
В ЖШ попробовал так:
Спойлер
[свернуть]
Документ открывается но в адресной строке после адреса появился ID (pdf?Itemid=ХХХ), а это дубль к уже имеющимся адресам. Это, видимо, алгоритм работы компонента? .htaccess итак не маленький редиректить их...
Подскажет кто решение, как это сделать правильно, желательно без ID, чтоб открывался pdf nofollow.. а не текст для индексации?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну так зачем вам
Код
<?php print SEFLink('papka/papka2/soglasie.pdf');?>
? это же не динамическая ссылка, пишите просто путь к pdf /papka/papka2/soglasie.pdf
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться