Новости 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. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

Vikkonte

  • Новичок
  • 2
  • 0 / 0
Шаблон меню
« : 31.01.2013, 01:20:02 »
Всем привет.
У меня, после долгих и упорных попыток, образовалась незагугливаемая проблема:
собственно, хочу собрать меню по принципу "ячейки с пунктами меню, разделенные пустыми ячейками; Если присутсвует вложенность - класть список прямо в ячейку родительского пункта меню". Вложенность максимум 1 уровень. Т.е. структура такая:
Код
<table>
<tr>
<td>Пункт меню 1</td>
<td class="separator"></td>
<td>Пункт меню 2</td>
<td class="separator"></td>
<td>
  Пункт меню 3
  <ul>
    <li>Подпункт 1</li>
    <li>Подпункт 2</li>
  </ul>
</td>
<td class="separator"></td>
<td>Пункт меню 4</td>
</tr>
</table>


Соответственно, начал переделывать стандартный темплейт, пришел к такому виду:

Код
<table class="menu<?php echo $class_sfx;?>"<?php
$tag = '';
if ($params->get('tag_id')!=NULL) {
$tag = $params->get('tag_id').'';
echo ' id="'.$tag.'"';
}
?>>
<tr>
<?php
foreach ($list as $i => &$item) :
$class = 'item-'.$item->id;
if ($item->id == $active_id) {
$class .= ' current';
}

if (in_array($item->id, $path)) {
$class .= ' active';
}
elseif ($item->type == 'alias') {
$aliasToId = $item->params->get('aliasoptions');
if (count($path) > 0 && $aliasToId == $path[count($path)-1]) {
$class .= ' active';
}
elseif (in_array($aliasToId, $path)) {
$class .= ' alias-parent-active';
}
}

if ($item->deeper) {
$class .= ' deeper';
}

if ($item->parent) {
$class .= ' parent';
}

if (!empty($class)) {
$class = ' class="'.trim($class).'"';
}

echo '<td'.$class.'>';

// Render the menu item.
switch ($item->type) :
case 'separator':
case 'url':
case 'component':
require JModuleHelper::getLayoutPath('mod_menu', 'default_'.$item->type);
break;

default:
require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
break;
endswitch;

// The next item is deeper.
if ($item->deeper) {
echo '<ul>';
}
// The next item is shallower.
elseif ($item->shallower) {
echo '</li>';
echo str_repeat('</ul></li>', $item->level_diff);
}
// The next item is on the same level.
else {
echo '</td>';
}
endforeach;
?></tr></table>



Если конкретно - то я не ищу в общем-то готового решения, а скорее прошу объяснить работу проблемного места, а именно - этого:

Код
// The next item is deeper.
if ($item->deeper) {
echo '<ul>';
}
// The next item is shallower.
elseif ($item->shallower) {
echo '</li>';
echo str_repeat('</ul></li>', $item->level_diff);
}
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Шаблон меню
« Ответ #1 : 31.01.2013, 01:21:55 »
А чем списки то не подходят? Тот же самый эффект, но более просто.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Шаблон меню
« Ответ #3 : 31.01.2013, 01:29:20 »
Fedor Vlasenko, круто! Где такой купить? Или только самостоятельно изобретать? )))
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Шаблон меню
« Ответ #4 : 31.01.2013, 01:37:33 »
Vikkonte это вам адресовано. Вы изобретаете свой велосипед.
NightGuard парочка переписанных таким образом меню и
Спойлер
[свернуть]
ага. А то пишу одному. А он. Ты что, я с мужиками не знакомлюсь  :laugh:
*

Vikkonte

  • Новичок
  • 2
  • 0 / 0
Re: Шаблон меню
« Ответ #5 : 31.01.2013, 23:32:54 »
Fedor Vlasenko, ну что за банальность - флуд и неуместный пребоянистый троллинг велосипедами.
Будьте уверены, надо именно так, и никак иначе. И списками то, что я задумал, не реализовать без ущербности. Абсолютно никак.
Собственно, и вопрос был задан о том "как", а не "нужно ли мне". Я прекрасно осведомлен о том, что мне нужно.
И, как я уже писал -
Цитировать
я не ищу в общем-то готового решения, а скорее прошу объяснить работу проблемного места
.

Вопрос еще актуален, насчет прицнипов работы родного шаблона.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Шаблон меню
« Ответ #6 : 31.01.2013, 23:41:55 »
Vikkonte таблица это отображение (табличный вид, представление), меню это навигация. Разницу видите. Далее вы можете как хотите оформить свое меню HTML кодом и даже в шаблон прописать его напрямую. Кто вам не дает, так сделать. Как вы думаете почему убрали табличный вывод в 2.5 в J 1.5 он был.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Назначение макета, посредством ссылки в меню

Автор xxxLOGIATxxx

Ответов: 20
Просмотров: 7593
Последний ответ 04.02.2022, 14:44:14
от hoi
Съезжает меню при наведении

Автор yyyuuu

Ответов: 4
Просмотров: 4476
Последний ответ 08.12.2020, 11:12:32
от AlexB
Как сделать свой шаблон quickstart?

Автор saiskyi

Ответов: 3
Просмотров: 8282
Последний ответ 19.02.2020, 19:29:01
от Bozhkov2
Проблемы в горизонтальном меню Joomla 2.5

Автор Димьяна

Ответов: 1
Просмотров: 5151
Последний ответ 27.11.2018, 14:58:30
от Ragivort
Как настроить шаблон?

Автор tromba

Ответов: 2
Просмотров: 5247
Последний ответ 15.08.2018, 15:29:56
от tromba