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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Недавно видел (вроде бы здесь, на форуме), как в modules.php добавить вывод id модуля, и не смог найти  :o
Как это можно модифицировать?
Код: php
function modChrome_well($module, &$params, &$attribs)
{
if ($module->content) {
echo "<div class=\"well " . htmlspecialchars($params->get('moduleclass_sfx')). "\">";
if ($module->showtitle)
{
echo "<div class=\"page-header\"><strong>" . $module->title . "</strong></div>";
}
echo $module->content;
echo "</div>";
}
}
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #1 : 03.06.2014, 10:42:54 »
echo $module->id;
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #2 : 03.06.2014, 10:44:26 »
Спс, + :)
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #3 : 03.06.2014, 10:46:43 »
Спс, + :)
на будущее можно var_dump($module) или print_r($module) и можно посмотреть все внутренности модуля!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #4 : 03.06.2014, 10:50:26 »
А в каких случаях вообще цепляется modules.php из шаблона?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #5 : 03.06.2014, 10:52:52 »
если вы в стилях модуля укажите  эту обертку тоесть у вас обертка сейчас modChrome_well
если пишете <jdoc:include type="modules" name="position" style="well" />
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #6 : 03.06.2014, 10:55:28 »
А это когда:
function modChrome_no($module, &$params, &$attribs)

И как будет называться универсальная функция для всех модулей?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #7 : 03.06.2014, 10:58:10 »
modChrome_no подключится когда вы сделаете
<jdoc:include type="modules" name="position" style="no" />
что значит универсальная для всех модулей? Данный функционал служит для того что бы наоборот сделать нужную обертку для разных случаев разных модулей, либо можно обеспечить что один и тот же модуль на разных страницах будет выглядеть по разному..
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #8 : 03.06.2014, 11:01:02 »
Имена оберток фиксированные (где почитать?)? Или могу свои понапридумывать?
Просто хочу. чтобы каждый модуль на любой странице выводился во фронт со своим id
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #9 : 03.06.2014, 11:02:30 »
Вы можете своих напридумывать сколько угодно, но в системе есть семь стандартных оберток которые можно использовать в любом шаблоне!
Все они лежат тут: templates/system/html/modules.php
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #10 : 03.06.2014, 11:06:53 »
Спс. А переопределить эти стандартные обертки как-либо можно?
В своем modules.php объявляю function modChrome_xhtml($module, &$params, &$attribs), а мне в ответ:
Fatal error: Cannot redeclare modChrome_xhtml() (previously declared in \templates\system\html\modules.php:88)
Если изменю в \templates\system\html\modules.php, то при обнове затрется все.
« Последнее редактирование: 03.06.2014, 11:26:00 от AlekVolsk »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: modules.php -> добавить id модуля
« Ответ #11 : 03.06.2014, 11:28:54 »
Спс. А переопределить эти стандартные обертки как-либо можно?
В своем modules.php объявляю function modChrome_xhtml($module, &$params, &$attribs), а мне в ответ:
Fatal error: Cannot redeclare modChrome_xhtml() (previously declared in \templates\system\html\modules.php:88)
Если изменю в \templates\system\html\modules.php, то при обнове затрется все.
Да, не получится переопределить - только свои создать можно.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #12 : 03.06.2014, 11:32:31 »
Да, не получится переопределить - только свои создать можно.
Ок, спс. А как добавить к классу "modid-<?php echo $module->id; ?>" все зависимости от обертки? для всех оберток одновременно?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: modules.php -> добавить id модуля
« Ответ #13 : 03.06.2014, 11:38:34 »
Ок, спс. А как добавить к классу "modid-<?php echo $module->id; ?>" все зависимости от обертки? для всех оберток одновременно?
Насколько мне известно - никак.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #14 : 03.06.2014, 11:44:58 »
Насколько мне известно - никак.
>:(
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #16 : 03.06.2014, 12:00:14 »
Вообще, я бы добавил добавил в режиме отладки принудительную обертку с указанием id для всего: модуль/плагин/вьюхи компонентов. Иногда так не хватает...
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #17 : 03.06.2014, 16:05:59 »
Вообще, я бы добавил добавил в режиме отладки принудительную обертку с указанием id для всего: модуль/плагин/вьюхи компонентов. Иногда так не хватает...
не знаю мне всего хватает )
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #18 : 17.06.2014, 16:07:10 »
В общем, решил вопрос написанием собственной функции, видоизмененный стиль html5 (span'ы исключены сознательно, для использования без bootstrap):
Код: php
function modChrome_modid($module, &$params, &$attribs)
{
  $moduleTag = $params->get('module_tag', 'div');
  if (!empty ($module->content)) {
    $moduleClass = trim(htmlspecialchars($params->get('moduleclass_sfx')).' modid-'.$module->id);
    $moduleClass = !empty($moduleClass)? ' class="'.$moduleClass.'"' : '';
    echo '<'.$moduleTag.$moduleClass.'>';
    if ((bool)$module->showtitle) {
      $headerTag = htmlspecialchars($params->get('header_tag', 'h3'));
      $headerClass = $params->get('header_class');
      $headerClass = !empty($headerClass)? ' class="'.htmlspecialchars($headerClass).'"' : '';
      echo '<'.$headerTag.$headerClass.'>'.$module->title.'</'.$headerTag.'>';
    }
    echo $module->content;
    echo '</'.$moduleTag.'>';
  }
}

Решено.
« Последнее редактирование: 17.06.2014, 16:11:02 от AlekVolsk »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как из Стиль модуля - none, убрать custom

Автор all_zer

Ответов: 3
Просмотров: 1478
Последний ответ 15.11.2025, 16:20:01
от all_zer
Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 1140
Последний ответ 07.09.2024, 13:19:48
от timofe
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 1714
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav
Убрать из модуля новостей ссылку на статью, на которой выводится модуль

Автор zeus07

Ответов: 3
Просмотров: 2047
Последний ответ 08.11.2023, 21:17:26
от GrayAn
Изменение отображения модуля от разрешения экрана

Автор mag_num83

Ответов: 5
Просмотров: 1261
Последний ответ 17.05.2023, 09:35:23
от Театрал