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

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Всем привет, подскажите пожалуйста как сделать что бы дочерние меню появлялось плавно? тестовая площадка http://agenstvo.hol.es/uslugi.html
Вот код который стоит сейчас
JS
Спойлер
[свернуть]

Нашел на просторах интернета код но он видимо не подходит, в JS не силен
Спойлер
[свернуть]
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Меню на Bootstrap 3 плавное появление
« Ответ #1 : 22.07.2014, 15:36:23 »
Присоединяюсь к вопросу, имхо, можно на transform на CSS это сделать, но доки на русском по этому весьма мало и она бедна.
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #2 : 22.07.2014, 15:40:16 »
Нашел вот такой пример http://noteskeeper.ru/1041/
*

sergoguga

  • Давно я тут
  • 896
  • 70 / 8
  • www.mpbox.ru
Re: Меню на Bootstrap 3 плавное появление
« Ответ #3 : 22.07.2014, 15:46:12 »
все решаемо, 1500р!!
)))
>>> Верстка 100 евро - ждешь новый курс? Пиши!
>>> Создание моб. приложений по ГОСТу)))! Личка работает!
>>> Микроразметка по стандартам - цены адекват! Пиши, не боись!
>>> Личный кабинет на ZOO - уже сделан! Пиши в личку, не стесняйся!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Меню на Bootstrap 3 плавное появление
« Ответ #4 : 22.07.2014, 15:53:04 »
все решаемо, 1500р!!
)))
Уважаемый, Вы несколько разделом ошиблись с вашим этим и некоторыми другими (в других топиках) постами: вам в коммерческий раздел, в подраздел поиска работы.
И да, это 1500 не стоит, от силы 200 максимум.

Нашел вот такой пример http://noteskeeper.ru/1041/
Спасибо, решил свою проблему: применял к display, а это, как оказалось, недопустимо.
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #5 : 22.07.2014, 15:59:10 »
Уважаемый, Вы несколько разделом ошиблись с вашим этим и некоторыми другими (в других топиках) постами: вам в коммерческий раздел, в подраздел поиска работы.
И да, это 1500 не стоит, от силы 200 максимум.
Спасибо, решил свою проблему: применял к display, а это, как оказалось, недопустимо.

Скинь пожалуйста CSS код менюшки если она у тебя на bootstrap
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #6 : 22.07.2014, 16:04:27 »
я так понял что лучше это сделать через CSS чем через JS?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Меню на Bootstrap 3 плавное появление
« Ответ #7 : 22.07.2014, 16:14:41 »
Скинь пожалуйста CSS код менюшки если она у тебя на bootstrap
Еще не дорисовал, скину позже (через пару дней - это не основная задача), обязательно.
я так понял что лучше это сделать через CSS чем через JS?
Имхо, да: незачем лишний раз скриптами перегружать и трафик (мобильный - как правило не резиновый) и браузер (js может быть и отключен у конечного пользователя).
*

sergoguga

  • Давно я тут
  • 896
  • 70 / 8
  • www.mpbox.ru
Re: Меню на Bootstrap 3 плавное появление
« Ответ #8 : 22.07.2014, 20:55:11 »
Еще не дорисовал, скину позже (через пару дней - это не основная задача), обязательно.
вот! я ж грил! вот они - преимущества бесплатных решений))) - долгое время ожидания.... если вообще будет оно, решение....
>>> Верстка 100 евро - ждешь новый курс? Пиши!
>>> Создание моб. приложений по ГОСТу)))! Личка работает!
>>> Микроразметка по стандартам - цены адекват! Пиши, не боись!
>>> Личный кабинет на ZOO - уже сделан! Пиши в личку, не стесняйся!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Меню на Bootstrap 3 плавное появление
« Ответ #9 : 22.07.2014, 21:05:34 »
если вообще будет оно, решение....
Решение будет. Планировал сюда, публично, но видимо придется ответить на ваше злорадство взаимностью: отправлю тс в личку.
Хамить было необязательно, извинения заочно приняты.
*

sergoguga

  • Давно я тут
  • 896
  • 70 / 8
  • www.mpbox.ru
Re: Меню на Bootstrap 3 плавное появление
« Ответ #10 : 22.07.2014, 21:24:18 »
Решение будет. Планировал сюда, публично, но видимо придется ответить на ваше злорадство взаимностью: отправлю тс в личку.
Хамить было необязательно, извинения заочно приняты.
дяловой!))
>>> Верстка 100 евро - ждешь новый курс? Пиши!
>>> Создание моб. приложений по ГОСТу)))! Личка работает!
>>> Микроразметка по стандартам - цены адекват! Пиши, не боись!
>>> Личный кабинет на ZOO - уже сделан! Пиши в личку, не стесняйся!
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #11 : 23.07.2014, 09:41:47 »
Посмотрите правильно ли я сделал? У меня отдельный файл стилей template.css который перебивает bootstrap.css по этому код не полный
Код
.navbar-nav > li > .dropdown-menu {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    margin-left: 5px;
    margin-top: 25px;
}
.dropdown-menu {
    background-color: #f8f8f8;
    border: medium none;
    box-shadow: none;
    display: block;
    min-width: 180px;
    margin-top: 25px;
    padding: 10px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s, margin-top 0.3s, visibility 0s linear 0.3s;
    -moz-transition: opacity 0.3s, margin-top 0.3s, visibility 0s linear 0.3s;
    -o-transition: opacity 0.3s, margin-top 0.3s, visibility 0s linear 0.3s;
    transition: opacity 0.3s, margin-top 0.3s, visibility 0s linear 0.3s;
}
.navbar-nav > li.dropdown:hover > .dropdown-menu{
    margin-top: 17px;
    opacity: 1;
    visibility: visible;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Меню на Bootstrap 3 плавное появление
« Ответ #12 : 23.07.2014, 11:18:23 »
Имхо, -webkit-transition-delay, -moz-transition-delay и -o-transition-delay можно убрать: се браузеры уж пару лет как без проблем понимают transition без префиксов. Разве если только ie8 еще кочевряжится.
Вы сами удовлетворены полученным эффектом? значит, все правильно сделали.
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #13 : 23.07.2014, 11:20:00 »
Имхо, -webkit-transition-delay, -moz-transition-delay и -o-transition-delay можно убрать: се браузеры уж пару лет как без проблем понимают transition без префиксов. Разве если только ie8 еще кочевряжится.
Вы сами удовлетворены полученным эффектом? значит, все правильно сделали.
Спасибо!
Еще работаю над меню
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #14 : 23.07.2014, 11:25:34 »
Можно как то сделать что бы меню когда убираешь курсор не сразу исчезала? Просто когда находишь курсор мышки на меню оно дергается
« Последнее редактирование: 23.07.2014, 11:29:47 от djwolf »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Меню на Bootstrap 3 плавное появление
« Ответ #15 : 23.07.2014, 11:44:51 »
В вышеуказанном вами примере (ответ #2) имеется решение.
http://paulradzkov.com/2012/pointer-events/
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #16 : 23.07.2014, 15:06:08 »
Так и не смог справиться, когда есть свойство pointer-events  не возможно подвести курсор, быстро исчезает и не реагирует на курсор, когда этого свойства нет меню дергается

Спойлер
[свернуть]
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #17 : 23.07.2014, 18:01:33 »
Решил свой вопрос таким образом, дописал скрипт задержки в основной код

Код
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('.parent').addClass('dropdown');
jQuery('.parent > a').addClass('dropdown-toggle');
jQuery('.parent > a').attr('data-toggle', 'dropdown');
jQuery('.nav > .parent > a').attr('data-toggle','#');
jQuery('.parent > a').append(' <span class="caret"></span>');
jQuery('.parent > ul').addClass('dropdown-menu');
jQuery('.nav-child .parent').removeClass('dropdown');
jQuery('.nav-child .parent').addClass('dropdown-submenu');
jQuery('.dropdown-submenu > a').removeAttr('class');
jQuery('.dropdown-submenu > a').removeAttr('data-toggle', 'dropdown');
jQuery('.dropdown-submenu > a > span').remove();
jQuery('ul.nav li.dropdown').hover(function() {
jQuery(this).find('.dropdown-menu').stop(true, true).delay(100).fadeIn();
}, function() {
jQuery(this).find('.dropdown-menu').stop(true, true).delay(300).fadeOut();
});
});
</script>
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Меню на Bootstrap 3 плавное появление
« Ответ #18 : 24.07.2014, 23:17:40 »
В общем, мое решение плавного появления подменю на bs3

С cdn подключены:
//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css
//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js

Далее в шаблоне добавляю:
Код: css
.navbar-nav > li > .dropdown-menu {border-top:none;background-color:white;} /* цвет лучше под фон или тон фона body */
.dropdown-menu {display:block !important;visibility:hidden;opacity:0;transition:visibility .3s,opacity .3s,top .4s;top:200%;}
.open > .dropdown-menu {visibility:visible;opacity:1;transition:visibility .3s,opacity .3s,top .4s;top:calc(100% + 1px);}
@media (max-width:767px) { /* у меня респонсив-меню появляется только здесь */
  .dropdown-menu {transition:none;}
}

Все! больше ничего для анимации не добавлял!

@djwolf: у Вас в js стили от bs2 явно, в bs3 нет .dropdown-submenu
*

djwolf

  • Захожу иногда
  • 58
  • 1 / 0
Re: Меню на Bootstrap 3 плавное появление
« Ответ #19 : 24.07.2014, 23:23:07 »
Не заметил
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Двойное меню

Автор cirip

Ответов: 0
Просмотров: 1376
Последний ответ 05.11.2024, 23:19:21
от cirip
Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 4534
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 7218
Последний ответ 23.05.2023, 07:22:49
от geral
Цвет фона меню

Автор IhorPH

Ответов: 7
Просмотров: 3031
Последний ответ 21.03.2023, 11:47:29
от marksetter
OffCanvas меню Helix Ultimate добавить текст к иконке

Автор Andre100

Ответов: 2
Просмотров: 3998
Последний ответ 20.03.2023, 12:42:49
от Andre100