Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 1264 Просмотров
*

12Gerc

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Нужно чтоб одна подкатегория меню не скрывалась.
То есть у меня создана стандартное выпадающее меню, мне необходимо, чтоб один пункт меню работал по другому.
Основной код отвечающий за скрытие

.moduletable_up li:hover ul ul, .moduletable_up li:hover ul ul ul, .moduletable_up li.sfhover ul ul, .moduletable_up li.sfhover ul ul ul {
   left: -999em;
}


Примерное место (вроде бы оно) где надо запретить скрытие

.moduletable_up .item-145 .nav-child ul.nav-child
{ width:140px !important;

padding: 10px 50px 5px 5px !important;
margin:0 !important}

.moduletable_up .item-145 .nav-child ul.nav-child li {width:120px !important;
margin-left:0 !important;}

Что необходимо прописать для запрета на скрытие, или какие другие варианты?

Весь код меню

Код
.separator {
font-family:12px Verdana,Arial;;
color: #fff;
outline: 0;
text-decoration: none;

display: block;
padding: 10px 10px;
font-weight: normal;
list-style: none;
text-align: center !important;
font-size: 16px;
line-height: 30px;
padding: 0 20px;
cursor: pointer;
float: left;
}
.separator:hover, .separator.active {
color: #cccc66;
background: #741d09;
border-radius: 3px;
outline: none;
text-decoration: none
}





.moduletable_up .item-145 .nav-child { width:650px !important;
float:left; padding:0px 30px 0 0;
margin: 40px 0 0 -300px}

.moduletable_up .item-145 .nav-child .nav-header {padding:0 15px 0 0;
  display: inline !important;}
 
 
.moduletable_up .item-145 .nav-child ul.nav-child
{ width:140px !important;
padding: 10px 50px 5px 5px !important;
margin:0 !important}
.moduletable_up .item-145 .nav-child ul.nav-child li {width:120px !important;
margin-left:0 !important;}




/*-----------------меню-------------------*/

#right1 {
width: 820px;
display: block;
font-size: 100%;
margin: 0;
padding: 0;
outline: none;
display: inline;
font: 12px Verdana, Arial !important;
}

#right1 ul li {
float: right;
display: inline-block;
padding: 10px 10px 10px 10px;
list-style: none;
text-align: left  !important;
margin: 5px 0 0 0;

}
#right1 a {
text-decoration: none;
}
.moduletable_up {
float: right;
margin: 0;
top: auto;
height: 54px;
z-index: 100;
position: relative;


}
.moduletable_up a {
color: #FFF;
 font: 16px Verdana, Arial;
line-height: 30px;
padding: 0 20px;
cursor: pointer;
display: block;
float: left;
text-decoration: none;

}



.moduletable_up a:hover, .moduletable_up li.active a {
color: #3286CB;
background:# 0CF;
border-radius: 3px;
outline: none;
text-decoration: none;


}
.moduletable_up a:hover, .moduletable_up li.active a
{background:#fff !important; }




.moduletable_up li ul {
position: absolute;
font-family: 12px Verdana,Arial;
margin:0 auto;
padding:0;
width: 170px;
left: -999em; /* Скрытие подпунктов */
background-color: #fff;
border: solid 1px  #999999;
border-radius: 2px;
display: inline;

}

/* Внутренне выравнивание*/
.moduletable_up li li a {
width: 280px;
background-color: #fff;
border: 0;
padding: 0 0 0 0;
color:#2F83C8;
}

/* Внутренне выравнивание 2*/
.moduletable_up li ul a {
width: 150px;
margin: -10px 0 0 10px !important;
padding-left: 7px;
}

/* Скрывает подпункты */
.moduletable_up li:hover ul ul, .moduletable_up li:hover ul ul ul, .moduletable_up li.sfhover ul ul, .moduletable_up li.sfhover ul ul ul {
left: -999em;
}

/* Показывает подпункты */
.moduletable_up li:hover ul, .moduletable_up li li:hover ul, .moduletable_up li li li:hover ul, .moduletable_up li.sfhover ul, .moduletable_up li li.sfhover ul, .moduletable_up li li li.sfhover ul {
left: auto;
}

/* Сдвиг подпунктов 2 урв */
li.parent ul {
margin-top:40px;
margin-left:-104px;

}



/* Третий уровень */
li.parent ul ul {
margin: -16px 0 0 10px;

}


ul.right1 li a {
color:#3286CB;
display:block;
padding: 12px 12px;}

li.parent_up ul li a {
display:block;
float:left;
}
li.parent_up a {
color:#3286CB;
display:block;
text-decoration:none;}

li.parent ul ul a:hover, li.parent ul ul a:active, li.parent ul a:hover, li.parent  ul a:active{
background:#EDF2F6 !important}

Что необходимо прописать для запрета на скрытие, или какие другие варианты?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Ссылку на сайт выложите.
*

12Gerc

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Я на локалке пишу шаблон.
*

12Gerc

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Вопрос пока не решён.
*

12Gerc

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Ладно, вопрос снимаю, решил другим путём пойти.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Кликабельность псевдоэлемента в пункте меню

Автор vasilii.pupkov

Ответов: 4
Просмотров: 3064
Последний ответ 29.12.2021, 23:15:38
от v42bis
Выпадающее меню

Автор DrShepard

Ответов: 10
Просмотров: 2822
Последний ответ 20.10.2021, 12:36:16
от DrShepard
Как закруглить края выпадающего меню?

Автор coliandra

Ответов: 1
Просмотров: 1339
Последний ответ 11.12.2020, 21:15:57
от effrit
При прокрутке страницы виджет залезает на меню

Автор coliandra

Ответов: 2
Просмотров: 1217
Последний ответ 27.11.2020, 11:33:58
от coliandra
Как убрать маркер только из одного пункта меню.

Автор kuraev64

Ответов: 2
Просмотров: 1463
Последний ответ 20.07.2020, 11:18:44
от kuraev64