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

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Отображение альбомов
« : 21.02.2010, 13:39:32 »
Добрый день. Нужна помощь. Мне не нравится что альбомы выводятся по одной на строке, подумал разбить на две колонки. Открыл albums.list  и добавил строки 
Код
       
   <?php if(($i%2)==0) {  ?>
          <div class="album_right">

           <?php  } Else {   ?>
            <div class="album_left">

    <?php }?>

После строк
Код
			$album->thumbnail = ($album->thumbnail)? JURI::root(). $album->thumbnail : JURI::root(). 'components/com_community/assets/album_thumb.jpg';
?>

Но результат получился как на картинке, как заставить отображать их правильно?
Еще может быть кто скажет как настроить количество вывода на странице? а то у меня 40 альбомов выводит после чего стрелки вперед назад. А хочется ограничить 30.Спасибо. url=http://radikal.ru/F/s002.radikal.ru/i198/1002/1d/86d9b38d18a9.jpg.html][/url]
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Отображение альбомов
« Ответ #1 : 21.02.2010, 14:41:07 »
Кстате вернул все как было, и заметил что проблема в шаблоне самого сайта, меня на стандартный и альбомы в две калонки. Не подскажите где это копать в моем шаблоне?
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Отображение альбомов
« Ответ #2 : 21.02.2010, 14:43:03 »
делай оба дива float: left но после каждого второго сделать вывод такого дива <div style="clear: both"></div>
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Отображение альбомов
« Ответ #3 : 21.02.2010, 14:44:36 »
там наверное у дива идет width: 50%, а ты сделал какие-нить паддинги, поэтому блоки не влазят...
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Отображение альбомов
« Ответ #4 : 21.02.2010, 14:47:24 »
body #community-wrap .albums { }
body #community-wrap .album { float: left; width: 48%; margin: 5px; border: 1px solid #eee; }
body #community-wrap .album-cover { float: left; margin: 10px; }
body #community-wrap .album-summary { margin: 8px; margin-bottom: 0; }
body #community-wrap .album-name { white-space: nowrap; overflow: hidden; }

я убрал код который добавил, потомучто заметил что проблема в моем шаблоне, если я ставлю стандартный шаблон на сайт то все нормально выводится в 2 колонки, а если ставлю свой шаблон то вывводится в одну, вот я и в ступоре куда копать. Помогите ((
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Отображение альбомов
« Ответ #5 : 21.02.2010, 15:11:40 »
width: 48%... поменяй на меньшее значение 47-45-44-... методом тыка найди значение при котором будет 2 колонки
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Отображение альбомов
« Ответ #6 : 21.02.2010, 18:07:57 »
пробовал я тоже думал что проблема в том что просто не вмещается но я даже с рамкой выводил и смотрел не помогало (((  ТЫ ГЕНИЙ я лоханулся, я когда экспериментировал видать один из разов не очистил КЭШ, щас уменьшил до 44 и все встало как надо. с меня +1 а с меня внимательность.
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Re: Отображение альбомов
« Ответ #7 : 21.02.2010, 18:41:49 »
:)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться