Новости Joomla

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

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

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

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

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

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 4 Ответов
  • 20138 Просмотров
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
В шаблонах для движка 1.5 вставка позиции модуля происходит следующим образом
Код: html4strict
<jdoc:include type="modules" name="left" style="xhtml" />
Если с полем name все понятно (имя позиции из списка созданных в XML файле шаблона), то вот с полем style частенько возникают вопросы - что это, зачем и что можно с ним делать.
Разберем сначала вывод хтмл по умолчанию при стиле XHTML - в исходном коде получается следующее
Код: html4strict
<div class="moduletable">
<h3>заголовок модуля</h3>
тело модуля
</div>
А что же нам делать, если хотим чуть усложнить структуру, дабы вписаться в разработанный дизайн либо иное? Все очень просто.
Мы идем в папку шаблона, в ней видим (и если не видим то создаем папку html), в ней находим (а если не находим то создаем файл modules.php). В нем к примеру пишем такую функцию
Код: php
function modChrome_mycustomdiv($module, &$params, &$attribs)
{
$headerLevel = isset($attribs['headerLevel'])? (int) $attribs['headerLevel'] : 3;
if (!empty ($module->content)) : ?>
<div class="mycustomdiv<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($module->showtitle) : ?>
<div class="mycustomdivtitle"><h3><?php echo $module->title; ?></h3></div>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}
И в шаблоне index.php для style теперь указываем значение mycustomdiv. То есть имя функции обязательно должно начинаться с modChrome_ а то что после подчеркивания нужно использовать в качестве значения style при выводе в шаблоне
Код: html4strict
<jdoc:include type="modules" name="left" style="mycustomdiv" />
В итоге у нас хтмл вывод будет таким
Код: html4strict
<div class="mycustomdiv">
<h3>заголовок модуля</h3>
тело модуля
</div>
По порядку, что мы здесь видим:
$params->get('moduleclass_sfx') - суффикс модуля, заданный в его настройках
$module->showtitle - заголовок модуля и соответственно проверку условия, если в настройках отмечен к показу - то выводим в тегах h3
$module->content - тело модуля, зависит от хелпера модуля либо других вариаций вывода

Получается что в эту функцию мы можем добавить любую структуру контента модуля, хоть табличную, хоть дивную, зависит от потребностей для вывода данного модуля

« Последнее редактирование: 07.03.2010, 20:41:29 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
можно немного дополнить (расширенное рассмотрение возможностей шаблонизации модуля)
И куда-нибудь присобачить. Будет полезно.
« Последнее редактирование: 09.03.2010, 15:37:37 от beliyadm »
*

sachek

  • Захожу иногда
  • 102
  • 1 / 0
  • Jamal*
В шаблонах для движка 1.5 вставка позиции модуля происходит следующим образом
Код: html4strict
<jdoc:include type="modules" name="left" style="xhtml" />
Если с полем name все понятно (имя позиции из списка созданных в XML файле шаблона), то вот с полем style частенько возникают вопросы - что это, зачем и что можно с ним делать.
Разберем сначала вывод хтмл по умолчанию при стиле XHTML - в исходном коде получается следующее
Код: html4strict
<div class="moduletable">
<h3>заголовок модуля</h3>
тело модуля
</div>
А что же нам делать, если хотим чуть усложнить структуру, дабы вписаться в разработанный дизайн либо иное? Все очень просто.
Мы идем в папку шаблона, в ней видим (и если не видим то создаем папку html), в ней находим (а если не находим то создаем файл modules.php). В нем к примеру пишем такую функцию
Код: php
function modChrome_mycustomdiv($module, &$params, &$attribs)
{
$headerLevel = isset($attribs['headerLevel'])? (int) $attribs['headerLevel'] : 3;
if (!empty ($module->content)) : ?>
<div class="mycustomdiv<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($module->showtitle) : ?>
<div class="mycustomdivtitle"><h3><?php echo $module->title; ?></h3></div>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}
И в шаблоне index.php для style теперь указываем значение mycustomdiv. То есть имя функции обязательно должно начинаться с modChrome_ а то что после подчеркивания нужно использовать в качестве значения style при выводе в шаблоне
Код: html4strict
<jdoc:include type="modules" name="left" style="mycustomdiv" />
В итоге у нас хтмл вывод будет таким
Код: html4strict
<div class="mycustomdiv">
<h3>заголовок модуля</h3>
тело модуля
</div>
По порядку, что мы здесь видим:
$params->get('moduleclass_sfx') - суффикс модуля, заданный в его настройках
$module->showtitle - заголовок модуля и соответственно проверку условия, если в настройках отмечен к показу - то выводим в тегах h3
$module->content - тело модуля, зависит от хелпера модуля либо других вариаций вывода

Получается что в эту функцию мы можем добавить любую структуру контента модуля, хоть табличную, хоть дивную, зависит от потребностей для вывода данного модуля



Все отлично получилось...но хотя бы отображается заголовки модулей.Вот еще бы эти заголовки подогнать под общий дизайн сайта,а то на превью моего шаблона совсем по другому сайт выглядет.Я так понимаю нужно самому уже создавать свой стиль...?
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
спасибо, очень тема помогла, как раз столкнулся с тем, как изменить стандартные теги вывода заголовка меню - поменял - как теперь красиво стало - любуюсь ;-) +1 вам)
вот так вышло: (заголовок модуля в h3 с стилем caption, моей иконкой)



*

faradej

  • Новичок
  • 3
  • 0 / 0
Подскажите где можно найти список функций для вывода информации в модуль. В Google информацию найти не могу. Думаю это будет актуально и для версии 3+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание новой позиции модуля

Автор Ptalameeya

Ответов: 6
Просмотров: 9427
Последний ответ 01.03.2015, 14:32:36
от Natko23
[howto] Создание новой позиции модулей в Joomla 1.5 .

Автор Blinp

Ответов: 221
Просмотров: 264046
Последний ответ 25.11.2013, 16:17:06
от milk101
[howto] Создание шаблона для Joomla! 1.5

Автор Mitrich

Ответов: 225
Просмотров: 380663
Последний ответ 17.09.2013, 16:00:05
от fred
Повторение стиля боковой колонки для каждого модуля отдельно

Автор ArtTheft

Ответов: 0
Просмотров: 6002
Последний ответ 21.09.2012, 20:04:56
от ArtTheft
Шаблон вывода статей на главной.

Автор ArtTheft

Ответов: 8
Просмотров: 8344
Последний ответ 09.08.2012, 12:19:16
от ArtTheft