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

Slava_ves

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Здравствуйте.
У меня список материалов категории выводится по следующему принципу:

- изменить Материал1
    - изменить Материал2
        - изменить Материал3
            - изменить Материал4
               - изменить Материал5
                   - изменить Материал6

То есть каждый элемент смещён вправо относительно предыдущего, плюс к тому же видна дурацкая кнопка "Изменить". Как можно от этого ужаса избавиться? То есть, убрать "Изменить" и показывать список нормально:
- Материал1
- Материал2
- Материал3
  
  Я вхожу с правами "СуперЮзер". Автором материалов являюсь тоже я. И я в курсе, что если заходит на сайт не автор, то список выводится в нормальном виде.
Да, шаблон - RSMetro. Это в его коде что-то неладное происходит :)
Может кто сталкивался с такой проблемой.
  
« Последнее редактирование: 06.09.2013, 12:52:28 от Slava_ves »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
плюс к тому же видна дурацкая кнопка "Изменить".
Эта "дурацчкая" кнопка показывается только тем кто авторизован на сайте и у кого есть соответствующие права
По поводу списка, без ссылки на сайт никто ничего не скажет, здесь не "Битва Экстрасенсов"
*

Slava_ves

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Цитировать
без ссылки на сайт никто...
это да, но я уже подписал в первом сообщении - шаблон "rsmetro", идущий в комплекте. Он так выводит материал автору.
   А "дурацкая кнопка" - да, я в курсе, что она показана пользователям с соответствующими правами. Но в том-то и проблема: мне нужно входить с полными правами, но мне не нужна эта "изменялка". Она портит дизайн и вид сайта. Конечно, можно зайти в CSS и прописать display:none, но это уж как-то...
*

Slava_ves

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Ну, в общем, кому интересно. Кто будет переделывать шаблон "rsmetro".
   В файле  templates\rsmetro\html\com_content\category\default_articles.php есть такая конструкция:
<?php if ($article->params->get('access-edit')) : ?>
   <span class="list-edit pull-left width-50">
      <?php echo JHtml::_('icon.edit', $article, $params); ?>
   </span>
<?php endif; ?>
  Которая и добавляет кнопки "изменить", запускает что-то типа всплывающих окон при подведении к ним курсора мыши и вообще портит весь вид и структуру. Удаляем это к чертям :) И будет нам счастье.

   Как это сделать по-культурному, не залезая в код, не нашёл.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменить область кликабельности ссылов в шаблоне (в шапке)

Автор Maffo

Ответов: 4
Просмотров: 1106
Последний ответ 24.08.2021, 17:22:57
от Maffo
Не удается изменить страницу через конструктор yootheme

Автор bigbelka

Ответов: 0
Просмотров: 757
Последний ответ 05.08.2021, 12:06:21
от bigbelka
Protostar. Резиновый. Изменить размер в %

Автор Belka

Ответов: 29
Просмотров: 4238
Последний ответ 10.04.2021, 09:27:47
от sivers
Вывод списка подкатегорий с материалами

Автор Zelyonkin

Ответов: 3
Просмотров: 667
Последний ответ 31.03.2021, 11:40:55
от Zelyonkin
Категории как в joomla1.5 при добавлении/редактировании материала

Автор virtucom

Ответов: 1
Просмотров: 1087
Последний ответ 11.02.2021, 17:38:28
от virtucom