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

R31rus

  • Давно я тут
  • 643
  • 4 / 0
Дату получилось вывести, а вот хиты никак.... ломал голову, просьба помочь.

Вот макет (components/com_tags/views/tag/tmpl/default_items.php)
Спойлер
[свернуть]

На сайте этот файл в данный момент отображает список меток с изображением и описанием каждой метки. Под каждым меткой дата, хотелось-бы и хиты рядом.

Пример:



 
« Последнее редактирование: 13.04.2016, 13:04:49 от R31rus »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
В этом файле перед открытием тега формы, ( но не позже ?> ) добавь php код
Код: php
<?php print_r($this->items); ?>
и ты все увидишь...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
В этом файле перед открытием тега формы, ( но не позже ?> ) добавь php код
Код: php
<?php print_r($this->items); ?>
и ты все увидишь...

сразу ошибку выдает.....
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
сразу ошибку выдает.....

Какую?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
0 - syntax error, unexpected '<', expecting end of file
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
0 - syntax error, unexpected '<', expecting end of file

покажи код твоего файла...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
покажи код твоего файла...

Окей я этот файл переопределил в html/com_tags/tag/default_items.php



Спойлер
[свернуть]
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Добавь
Код
print_r($this->items);
после
Код
$n = count($this->items);
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
сделал, глянь что вышло: ссылка удалена
« Последнее редактирование: 17.04.2016, 16:49:01 от R31rus »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Все правильно, Теперь узнай как называется параметр который содержит значение хитов и посмотри на этой странице есть ли там такое или нету...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
Нашел "show_hits":"1" и всё
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
что бы убедиться что это то что нужно, посмотри что нибудь и измениться ли значение...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
что бы убедиться что это то что нужно, посмотри что нибудь и измениться ли значение...

Тыкнул по материалам несколько раз всё равно "show_hits":"1"
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Тыкнул по материалам несколько раз всё равно "show_hits":"1"

ЗНАЧИТ ЭТО НЕ ТО... ИЩИ ДАЛЬШЕ...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
кроме show hits , дата публикации, автор, id материала, титл.... там нет ничего
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Включи отладку системы...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
включил
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
в общем ппц:))
*

b2z

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

R31rus

  • Давно я тут
  • 643
  • 4 / 0
Значит запрос не вытаскивает хиты. Только ядро править.

Поправим?:) без вашей помощи никак.
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
Из подсказки выше с помощью:
Код
print_r($this->items);

 Узнал что можно вывести под каждой меткой:
Код
type_alias
content_item_id
core_content_id
match_count
tag_date
core_title
core_alias
core_body
core_state
core_access
core_metadata
core_created_user_id
core_created_by_alias
core_created_time
core_images
core_modified_time
core_language
core_catid
core_publish_up
core_publish_down
content_type_title
router
author
author_email
link
displayDate
event
text
core_params


А вот хитов почему-то нету, очень жаль.... апну тему может кто подскажет, как реализовать. 
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
На сайте этот файл в данный момент отображает список меток с изображением и описанием каждой метки. Под каждым меткой дата, хотелось-бы и хиты рядом.

Я тут поковырялся в файлах и оказалось что b2z прав на счет файла. В нем надо дописать SQL запрос что бы выводил хиты материала...

Итак...
опускаешься до 541 строки и заменяешь ее на
Код
. ', ' . 'm.type_alias'

Строкой выше допиши
Код
'co.hits AS core_hits'
этот код должен быть ниже чем вышеприведенный

После 571 строки добавляешь
Код
->join('INNER', '#__content AS co ON co.id = m.content_item_id')

Что бы вывести новые данные в переопределенном файле default_items.php
Код: php
<?php echo $item->core_hits; ?>
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
Всё работает! Хороший урок для меня, спасибо.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Я бы положил копию файла default_items.php в папку /templates/ваш-шаблон/html/com_tags/tag/ чтобы при обновлениях не терять изменения и сделал бы отдельный запрос в этом файле, который по id материала получит хиты. Тогда не нужно будет каждый раз после обновления повторять хак движка.
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
Я бы положил копию файла default_items.php в папку /templates/ваш-шаблон/html/com_tags/tag/ чтобы при обновлениях не терять изменения и сделал бы отдельный запрос в этом файле, который по id материала получит хиты. Тогда не нужно будет каждый раз после обновления повторять хак движка.

Да всё верно я переопределил ранее default_items в свой templates. Было-бы интересно посмотреть ваш вариант получения хитов в данном файле. Просто никак не получалось! Конечно не удобно править движок. Будьте добры покажите пример
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
id материалов у вас я думаю там есть $item->content_item_id вроде. Вот так можно получить всю информацию о материале по id http://joomlaforum.ru/index.php/topic,247443.0.html
Не работает только с архивными материалами, как недавно выяснил. Конечно это дополнительные запросы, но они довольно лёгкие.
Вот это пропишите в начале файла
Код
if(!class_exists('ContentModelArticle')) require_once JPATH_ROOT.'/components/com_content/models/article.php';
$article = new ContentModelArticle;

А вот это в цикле где у вас информация выводится:
Код
//получаем документ по id
$youArticle = $article->getItem($item->content_item_id);
//Выводим хиты
echo $youArticle->hits;
//нужно еще, что-то смотри здесь var_dump($youArticle);
Примерно так.
« Последнее редактирование: 17.04.2016, 20:42:12 от ChaosHead »
*

R31rus

  • Давно я тут
  • 643
  • 4 / 0
Всё работает!:) Получилось 2 неплохих решения. Спасибо

*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
id материалов у вас я думаю там есть $item->content_item_id вроде. Вот так можно получить всю информацию о материале по id http://joomlaforum.ru/index.php/topic,247443.0.html
Не работает только с архивными материалами, как недавно выяснил. Конечно это дополнительные запросы, но они довольно лёгкие.
Вот это пропишите в начале файла
Код
if(!class_exists('ContentModelArticle')) require_once JPATH_ROOT.'/components/com_content/models/article.php';
$article = new ContentModelArticle;

А вот это в цикле где у вас информация выводится:
Код
//получаем документ по id
$youArticle = $article->getItem($item->content_item_id);
//Выводим хиты
echo $youArticle->hits;
//нужно еще, что-то смотри здесь var_dump($youArticle);
Примерно так.

Хотел обратить Ваше внимание на эту тему: http://joomlaforum.ru/index.php/topic,327407.0.html
Тут без хака не обойтись, но может сможете помочь советом
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 2666
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 1656
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav
Вывод даты материала в списке тегов

Автор androv77

Ответов: 2
Просмотров: 2522
Последний ответ 09.11.2023, 16:33:08
от denxio
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 3004
Последний ответ 06.10.2023, 14:02:24
от Mitriy
ajax загрузка компонента на странице материала К2

Автор Divn

Ответов: 0
Просмотров: 1136
Последний ответ 13.01.2023, 15:05:52
от Divn