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

e-Claire

  • Захожу иногда
  • 55
  • 0 / 0
Профи, подскажите, пожалуйста....

Есть модуль меню который выводится в стиле rounded, то есть четыре вложенных дива, в которых уже ненумерованный список.
Мне нужно каждому диву присвоить свой класс. В какой php файл лезть, чтобы это сделать?

Заранее спасибо!
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Ну во-первых, тут не нужно никуда лезти. Используйте каскадирование css:
Код: css
div {color:#fff} /*у дива и всех вложенных будет белый текст*/
div div {color:#000} /*а теперь чёрный*/
div div div {color:#fff} /*снова белый*/
div div div div {color:#fff} /*красный*/
А во-вторых, это уже устаревшая разметка. Раньше использовалась для скругления углов. Теперь так пишем:
Код: css
div {border-radius:3px;}
*

e-Claire

  • Захожу иногда
  • 55
  • 0 / 0
Ну во-первых, тут не нужно никуда лезти. Используйте каскадирование css:
Код: css
div {color:#fff} /*у дива и всех вложенных будет белый текст*/
div div {color:#000} /*а теперь чёрный*/
А во-вторых, это уже устаревшая разметка. Раньше использовалась для скругления углов. Теперь так пишем:
Код: css
div {border-radius:3px;}

Спасибо за ответ. Но это мне не для скругления углов нужно было. Просто в изначальном HTML документе, из которого я делала шаблон были прописаны стили сss разные для каждого вложенного блока.
И при изменении в CSS классов на просто div div {}, получалось, что свойства внешнего дива передаютя внутренним дивам, а этого как раз нужно было избежать.

В итоге сделала свою обертку для позиции модуля:
создала файл modules.php в папке templates/мой_шаблон/html/ с кодом:
Код
<?php
 
defined( '_JEXEC' ) or die;
 
function modChrome_myPosition( $module, &$params, &$attribs )
{
    if ( !empty ( $module->content ) ) {
        ?>
        <div class="class1">
            <div class="class2">
                <div class="class3"><?php echo $module->content; ?></div>
            </div>
        </div>
        <?php
    }
}

И вставила в свой шаблон якорь
Код
<jdoc:include type="modules" name="module name" style="myPosition" />
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Ну всё верно вы сделали. ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пример создания модуля с прикреплением файлов

Автор Zelyonkin

Ответов: 7
Просмотров: 1347
Последний ответ 02.08.2021, 17:04:15
от Zelyonkin
Отображение модуля меню на странице материала

Автор kunsaid

Ответов: 9
Просмотров: 1635
Последний ответ 21.07.2021, 10:50:29
от kunsaid
[Решено] CSS-класс заголовка модуля

Автор schel4ok

Ответов: 36
Просмотров: 19152
Последний ответ 06.04.2021, 23:35:20
от Wak
Добавление модуля в шапку

Автор Bazaroff

Ответов: 8
Просмотров: 957
Последний ответ 18.01.2021, 19:59:58
от AlexB
Проблемы с ajax при выводе модуля

Автор Lemonez

Ответов: 6
Просмотров: 959
Последний ответ 21.12.2020, 05:16:55
от draff