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

321

  • Захожу иногда
  • 364
  • 3 / 8
Затемнение экрана
« : 17.08.2012, 13:31:47 »
Как можно сделать затемнеие экрана при открытие pop-up окнах. Файл .css который отвечает за дизайн окон разыскал \www\components\com_community\assets\window.css  и вписал в код
Цитировать
#cWindow {
   position: absolute;
   z-index: 10000;
   display: block;
}
background-color:#333;,
но появилась только рамка окна, а не затемнение. Подскажите пожалуйста, что еще нужно добавить или удалить для затемнения.
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Затемнение экрана
« Ответ #1 : 17.08.2012, 13:41:11 »
но появилась только рамка окна, а не затемнение.
Значит вы не то редактируете.
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

321

  • Захожу иногда
  • 364
  • 3 / 8
Re: Затемнение экрана
« Ответ #2 : 28.08.2012, 11:25:22 »
Значит вы не то редактируете.
так вот это понятно, что не то редактирую...
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Затемнение экрана
« Ответ #3 : 23.08.2014, 17:15:35 »
Тема актуальна...
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Затемнение экрана
« Ответ #4 : 23.08.2014, 17:50:08 »
Сайт в студию, может у тебя вообще только окно открывается, а задний фон нет. Найди где меняется всплывающее окно c display:none на display:block, туда впиши <div class="zadnii_fon"></div>
и пропиши
.zadnii_fon {position:fixed;
width:100%;
height:100%;
color:#000000;
opacity:0.5;
}
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Затемнение экрана
« Ответ #5 : 23.08.2014, 18:02:33 »
Сайт на Денвере, к сожалению.
Затемнение при открывании  Pop-Up окон нужно для всех окон сайта.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Затемнение экрана
« Ответ #6 : 23.08.2014, 18:03:31 »
Это понятно что для всех, а вот ты не понял что я написал...
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Затемнение экрана
« Ответ #7 : 23.08.2014, 18:17:07 »
Цитировать
Найди где меняется всплывающее окно c display:none на display:block, туда впиши <div class="zadnii_fon"></div>
Разве в файле \www\components\com_community\assets\window.css без <div></div> нельзя прописать доп.стили?
« Последнее редактирование: 23.08.2014, 18:21:18 от Сergei »
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Затемнение экрана
« Ответ #8 : 23.08.2014, 18:50:33 »
Ладно, трудно объяснил. Найди в коде <div id="cWindow"> и в конце него вставь <div class="zadnii_fon"></div>, и уже к нему пропиши стили .zadnii_fon {position:fixed; и т.д. в window.css
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Затемнение экрана
« Ответ #9 : 23.08.2014, 20:19:26 »
разыскал код <div id="cWindow"> в трех файлах: min_window-1.0.js, window-1.0.js и window-1.0.pack.js в папке \www\components\com_community\assets
осталось найти в них закрывающий </div> и выяснить, который именно файл отвечает за все окна или все эти файлы отвечают и нужно ли будет в каждом прописывать <div class="zadnii_fon"></div>
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Затемнение экрана
« Ответ #10 : 23.08.2014, 20:22:51 »
Пропиши во всех, не ошибешься, разницы никакой не будет. Сделай все по аналогии что делается с блоком <div id="cWindow">, чтобы также открывалось по нажатию.
Дальше пропиши стили, и все. Расскажи про результат.

UPD надеюсь ищешь totalcommanderom?
« Последнее редактирование: 23.08.2014, 20:26:22 от shurakana »
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Затемнение экрана
« Ответ #11 : 23.08.2014, 20:49:27 »
для поиска использую программу ScannerUS
Обязательно ли прописывать код <div class="zadnii_fon"></div> после </div>
делал так:
Цитировать
<div id="cWindow"><div class="zadnii_fon"></div>
потом:
Цитировать
<div class="zadnii_fon"></div><div id="cWindow">
но фон так и не менялся на затемненый.
Затруднительно было вычислить закрывающий </div> у <div id="cWindow">
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Затемнение экрана
« Ответ #12 : 23.08.2014, 21:04:26 »
В принципе для fixed разницы никакой...
но он не может не меняться, чтото неправильно делаешь...
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Затемнение экрана
« Ответ #13 : 23.08.2014, 22:08:27 »
В принципе для fixed разницы никакой...
но он не может не меняться, чтото неправильно делаешь...

у Вас на сайте такое же решение и оно работает?
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Затемнение экрана
« Ответ #14 : 23.08.2014, 22:23:07 »
Не знаю как сказать, два ламера пытаются объяснить чтото друг другу.. ;D

Выложи сайт на хостинг, решение найдется сразу.
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Затемнение экрана
« Ответ #15 : 23.08.2014, 22:57:39 »
Не знаю как сказать, два ламера пытаются объяснить чтото друг другу.. ;D
;D
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Затемнение экрана
« Ответ #16 : 23.08.2014, 23:14:35 »
;D

и правда, ну, так весело прям не могу удержаться. Осталось только потанцевать, ну от радости.

Тема начинает превращаться в мусор!
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Затемнение экрана
« Ответ #17 : 23.08.2014, 23:19:24 »
Выложите сайт на любой бесплатный хостинг, времени это займет пол часа, и возможно вам сразу помогут.
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Затемнение экрана
« Ответ #18 : 23.08.2014, 23:25:23 »
Ну, не в ламерах дело, просто после того как ты спросил
Цитировать
\assets\window.css без <div></div> нельзя прописать доп.стили?
то я понял что связь потеряна.. ;D

Поэтому выложи сайт на хостинг, это ведь не первый твой сайт, сделай поддомен и пр..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Затемнение экрана
« Ответ #19 : 24.08.2014, 00:00:30 »
Странно получается, начал тему один человек а продолжает другой.
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Сergei

  • Захожу иногда
  • 189
  • 0 / 0
Re: Затемнение экрана
« Ответ #20 : 24.08.2014, 09:14:05 »
Успокойтесь Вы уже, успокойтесь!

umbabaraumba то ли провокатор, то ли сильно захотел минус в нос!

Цитировать
Странно получается, начал тему один человек, а продолжает другой.

Ну, конечно это же здесь одна такая тема, да и на других форумах в мире, которую открывает один, а продолжает другой, а еще может продолжить и третий, и четвертый, и пятый...

*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: Затемнение экрана
« Ответ #21 : 24.08.2014, 09:27:29 »
Ты сайт выложил нет?
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться