Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями 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 Гость просматривают эту тему.
  • 7 Ответов
  • 1070 Просмотров
*

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
Стандартный модуль mod_k2_content, как в нем вывести новые материалы, но не самого начала (не с самого нового материала) а, к примеру с пятого или десятого... Суть: необходимо вывести такой модуль на странице, где есть уже первые пять или десять материалов.

Полагаю, должно быть нечто подобное?

Код
($i =5, $n = count($items); $i < $n; $i++)

Буду благодарен, кто поможет.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Стандартный модуль mod_k2_content, как в нем вывести новые материалы, но не самого начала (не с самого нового материала) а, к примеру с пятого или десятого... Суть: необходимо вывести такой модуль на странице, где есть уже первые пять или десять материалов.

Полагаю, должно быть нечто подобное?

Код
($i =5, $n = count($items); $i < $n; $i++)

Буду благодарен, кто поможет.

Не надо указывать в for с какого момента считать. Лучше с помощью условия if сортируй их
Код
<?php
for($i =0; $n = count($items); $i++)
{
if($items[$n] >= 5 && $items[$n] == 10)
{
// выводим материал...
}
}
?>
...
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не надо указывать в for с какого момента считать. Лучше с помощью условия if сортируй их
Код
<?php
for($i =0; $n = count($items); $i++)
{
if($items[$n] >= 5 && $items[$n] == 10)
{
// выводим материал...
}
}
?>
некорректно: ничего не выводится (по идее, только последний материал, который имеет содержание "10"), потому что цикл будет бесконечным.
Код
($i =5, $n = count($items); $i < $n; $i++)
Можно так, но:
1. Пропущенные материалы могут не совпадать с теми, что на странице.
2. Если есть пагинация, то с начала каждой страницы будут пропущены 5 материалов, а не только первые 5.

Вариант: Сравнить id или alias (смотрите, какие есть, не пользуюсь К2, поэтому не могу сказать) материалов модуля и тех, что на странице. Если совпадают, то не выводить.
« Последнее редактирование: 06.07.2015, 13:04:49 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
Может быть кто то сделает выборку по ID (на соответствие)? В общем и целом задача есть, если кто то возьмется решить - отблагодарю ЯДом (в разумных пределах). Файл (или модуль) могу предоставить, хотя он стандартный..
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
некорректно: ничего не выводится (по идее, только последний материал, который имеет содержание "10"), потому что цикл будет бесконечным.Можно так, но:

согласен! Но сделал вот так
Код
for($u = 1; $u <= count($items); $u++) 
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

И все работает
но только без использования foreach
...
*

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
согласен! Но сделал вот так
Код
for($u = 1; $u <= count($items); $u++) 
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

И все работает
но только без использования foreach

При последнем приведенном коде 

Код
for($u = 1; $u <= count($items); $u++) 
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

возникает пустая последняя строка (с текущей датой)...
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
возникает пустая последняя строка (с текущей датой)...

правильно укажи диапазон в строке
Код
 if($u >= 5 && $u < 10)

К примеру я из 10 материалов вывожу последние 5 это значит что диапазон получиться
от больше или равно 5 и до меньше 10 ( 10 материал не включается в диапазон)...
Цыфрами: 5, 6, 7, 8, 9

...
*

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
правильно укажи диапазон в строке
Код
 if($u >= 5 && $u < 10)

К примеру я из 10 материалов вывожу последние 5 это значит что диапазон получиться
от больше или равно 5 и до меньше 10 ( 10 материал не включается в диапазон)...
Цыфрами: 5, 6, 7, 8, 9



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

Перенос материалов из Joomla3 + K2 в Joomla4

Автор Magnum79

Ответов: 0
Просмотров: 2688
Последний ответ 24.05.2024, 21:49:14
от Magnum79
Как добавить свой класс для страниц вывода материалов по тегу k2?

Автор Slava77

Ответов: 0
Просмотров: 5625
Последний ответ 16.02.2023, 23:29:34
от Slava77
Наполняя категорию K2 копированием материалов, пропадает навигация в статьях

Автор Slava77

Ответов: 4
Просмотров: 3927
Последний ответ 24.12.2021, 22:30:56
от Slava77
K2 Store - вывод Product Options в карточке товара

Автор John_Flores

Ответов: 1
Просмотров: 1711
Последний ответ 26.11.2021, 12:04:32
от John_Flores
Перестала работать опция оценки материалов/рейтинг в компоненте K2

Автор Yonakano

Ответов: 4
Просмотров: 2621
Последний ответ 07.02.2021, 00:30:57
от Yonakano