Новости Joomla

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

Проект IV: Обучение с подкреплением на основе отзывов переводчиков.
Joomla собирается использовать автоматический перевод документации. В каждом языке есть свои специфические слова, характерные для Joomla. Предполагается обучать языковые модели, используя обратную связь от переводчиков, чтобы постоянно улучшать качество переводов и учитывать специфические языковые особенности Joomla.

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество Joomla)

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

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

IgAlex

  • Новичок
  • 5
  • 0 / 0
есть выпадающее меню, но почему то не открывается при наведении
помогите найти где чего не хватает. Одно меню работает, второе по аналогии нет. рядом расположен рабочий пример (в одном коде)
вот код:
Код
<html>
<head>
<link rel="stylesheet" type="text/css" href="mysite.css">
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" class="top_menu">
<tbody>
<tr>
<td>
<div>
<a href="#">Раздел 1</a></div>
<div class="top_menu_sub">
<div><a href="#">Раздел 1_1</a></div>
<div><a href="#">Раздел 1_2</a></div>

</td>
<td>
<div>
<a href="#">Раздел 2</a></div>
<div class="top_menu_sub">
<div><a href="#">Раздел 2_1</a></div>
<div><a href="#">Раздел 2_2</a></div>
<div><a href="#">Раздел 3_3</a></div>

</td>
</tr>
</tbody>
</table>
<ul>
  <li><a href="#">Home</a></li>
  <li><a href="#">About</a>
<ul>
    <li><a href="#">History</a></li>
    <li><a href="#">Team</a></li>
    <li><a href="#">Offices</a></li>
</ul>
 </li>
 <li><a href="#">Services</a>
<ul>
    <li><a href="#">Web Design</a></li>
    <li><a href="#">Internet Marketing</a></li>
    <li><a href="#">Hosting</a></li>
    <li><a href="#">Domain Names</a></li>
    <li><a href="#">Broadband</a></li>
</ul>
 </li>   
</ul>
</body>
</html>

и сам CSS

Код
.top_menu { 
   width: 100%;
}
.top_menu TD {                 
   width: 188px;                 
   cursor: pointer;
   position: relative;                 
   padding-top: 8px;                 
   padding-bottom: 8px;                 
   background-image: url(img/evr_menu_back.jpg);                 
   background-repeat: no-repeat;         
}
.top_menu_sub {
   position: absolute;
   left: 149px;
   top: 0;
   display: none;
}
.top_menu A {
   display: block;               
   color: white;                 
   font-weight: bold;                 
   font-size: 12px;                 
   text-decoration: none;                 
   margin-left: 21px;         
}
.top_menu_sub DIV:hover A { display: block; } 


ul { margin: 0; padding: 0; list-style: none; width: 150px; border-bottom: 1px solid #ccc; }

ul li { position: relative; }

li ul { position: absolute; left: 149px; top: 0; display: none; }

ul li a { display: block; text-decoration: none; color: #777; background: #fff; padding: 5px; border: 1px solid #ccc; border-bottom: 0; }

li:hover ul { display: block; } 
« Последнее редактирование: 06.09.2010, 17:09:01 от IgAlex »
*

Russfox

  • Захожу иногда
  • 169
  • 34 / 0
Где же по аналогии то)
Код
<div><a href="#">Раздел 1</a></div>
<div class="top_menu_sub">
<div><a href="#">Раздел 1_1</a></div>
<div><a href="#">Раздел 1_2</a></div>
где див должен закрываться? надо
Код
<div><a href="#">Раздел 1</a>
<div class="top_menu_sub">
<div><a href="#">Раздел 1_1</a></div>
<div><a href="#">Раздел 1_2</a></div>
</div>
И что дает .top_menu_sub DIV:hover A { display: block; } когда .top_menu_sub {display: none; }.
.top_menu_sub DIV:hover A { display: block; } вобще не нужно, вместо этого .top_menu  div:hover div.top_menu_sub  { display: block; } . Класс top_menu_sub можно не указывать

Для первого дива нужно класс задать, например
Код
<div class="rel_menu"><a href="#">Раздел 1</a>
<div class="top_menu_sub">
<div><a href="#">Раздел 1_1</a></div>
<div><a href="#">Раздел 1_2</a></div>
</div>
Прописать для него .rel_menu {position:relative;}

А вобще если делать по аналогии - то делать лучше списками - так удобнее


*

IgAlex

  • Новичок
  • 5
  • 0 / 0
пытаюсь добавить горизонтальное меню, как то криво

Код
<table border="0" cellpadding="0" cellspacing="0" class="top_menu">
<tbody>
<tr>
<td>
<div><a href="#">О компании</a>
<div class="top_menu_sub">
<div><a href="#">О компании</a></div>
<div><a href="#">Наши клиенты</a></div>
<div><a href="#">Наши партнёры</a></div>
<div><a href="#">Наши проекты</a></div>
<div><a href="#">Контакты</a></div>
<div><a href="#">Вакансии</a>
<div class="top_menu_sub2">
<div><a href="#">Вакансии1</a></div>
<div><a href="#">Вакансии2</a></div>
<img border="0" class="top_menu_sub_line_right" src="img/evr_submenu_bottom.png" />
</div></div>
<img border="0" class="top_menu_sub_line" src="img/evr_submenu_bottom.png" /></div></div>
</td>
</tr>
    </tbody>
</table>

и стили

Код
.top_menu {                 
   width: 100%;                 
   position: relative;                 
   z-index: 10;         
}         
.top_menu TD {                 
   width: 188px;                 
   cursor: pointer;                 
   padding-top: 8px;                 
   padding-bottom: 8px;                 
   background-image: url(img/evr_menu_back.jpg);                 
   background-repeat: no-repeat;         
}
.top_menu TD:hover {                 
   background-image: url(img/evr_menu_act.jpg);
     
}   
.top_menu DIV:hover div { display: block; }
.top_menu tr td div {position:relative}
.top_menu A {                 
   color: white;                 
   font-weight: bold;                 
   font-size: 12px;                 
   text-decoration: none;                 
   margin-left: 20px;         
}         
.top_menu tr td div.top_menu_sub{position:absolute;top:12px;}
.top_menu_sub {                 
   position: absolute;                 
   z-index: 1999;                 
   display: none;
   padding-top:10px;         
}         
.top_menu_sub {left:0px}
.top_menu_sub {position:absolute}
.top_menu_sub DIV {                 
   width: 173px;                 
   cursor: pointer;                 
   padding: 8px 0px 8px 13px;                 
   border: 1px solid #ebebeb;                 
   border-top: none;                 
   background-color: white;         
}
.top_menu_sub DIV:hover {
   display: block;             
   background-color: #f0f2f3;       
}         
.top_menu_sub IMG.top_menu_sub_line {                 
   display: block;                 
   cursor: default;                 
   padding: 0px;                 
   margin: 0px;                 
   border: none;         
}         
.top_menu_sub A {                 
   color: #0650b2;                 
   font-weight: normal;                 
   font-size: 12px;                 
   text-decoration: none;                 
   margin-left: 0px;         
}         
.top_menu_sub A.highlighted {                 
   color: #c80562;                 
   font-weight: bold;         
}


.top_menu_sub2 DIV {                 
   width: 173px;                 
   cursor: pointer;                 
   /*
padding: 8px 0px 8px 0px;
*/                 
   border: 1px solid #ebebeb;                 
   border-top: none;                 
   background-color: white;         
}
.top_menu_sub2 {                 
   position: absolute;                 
   z-index: 20;                 
   display: none;
   left:173px;
   padding-top: 0px;         
}
.top_menu_sub2 IMG.top_menu_sub_line_right {                 
   display: block;                 
   cursor: default;                 
   padding: 0px;                 
   margin: 0px;                 
   border: none;         
}         

*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
а где ты такое меню нашел, которое генерит дивы? mod_mainmenu выдает чистый и самый удобный unordered list(ul). С ним сделать выпадашку - расплюнуть...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

IgAlex

  • Новичок
  • 5
  • 0 / 0
попросили на одном сайте меню доделать

сделал, если кому интересно будет, скину на мыло пример
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор vasilii.pupkov

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

Автор DrShepard

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

Автор coliandra

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

Автор coliandra

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

Автор kuraev64

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