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

weranda

  • Захожу иногда
  • 76
  • 3 / 0
Приветствую.
Чтобы вам не читать много букв, суть вопроса в этом: как сделать независимый от обновлений шаблон с разметкой и стилями для модуля mod_articles_news?
Если вы знаете как, то это обстоятельство замечательно, расскажите пожалуйста.

Делал дизайн модуля новостей. Создал файл my-news.php по адресу modules\mod_articles_news\tmpl\my-news.php, но понял что в нем разметку сделать нельзя и разметку можно поменять только в файле _item.php, который находится в этой же папке. Моя попытка вставить код из файла _item.php в файл my-news.php привела к тому, что содержимое модуля перестало отображаться. Поэтому я отредактировал сам файл _item.php, добавив в него нужную разметку. При обновлении CMS с версии 3.0 на версию 3.1 именно этот файл был заменен новым.
Естественно возник вопрос: а как сделать так, чтобы при обновлении CMS ничего не менялось в нужных файлах. Вариант не обновлять систему отпадает. С помощью дополнительных параметров модуля можно выбрать альтернативный макет модуля, но как его корректно сделать с нужной разметкой я никак не пойму.

Уважаемые, расскажите пожалуйста как решить эту ситуацию.
« Последнее редактирование: 29.04.2013, 11:09:47 от b2z »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
В шаблоне же - templates/tmpl_name/html/mod_articles_news/_item.php - и не перезапишется!
*

weranda

  • Захожу иногда
  • 76
  • 3 / 0
В шаблоне же - templates/tmpl_name/html/mod_articles_news/_item.php - и не перезапишется!
Да, все работает. Спасибо вам.
Я не понимаю логики. В шаблоне Joomla мы создаем папку с названием компонента или модуля и копируем туда файлы. Joomla теперь отдает предпочтения именно тем файлам, которые располагаются в файлах самого шаблона, а не тем файлам, что располагаются по умолчанию в папках modules и components?

В созданном файле альтернативного макета default.php есть код:
Код
<div class="newsflash<?php echo $moduleclass_sfx; ?>">
<?php
foreach ($list as $item) :
require JModuleHelper::getLayoutPath('mod_articles_news', '_item');
endforeach;
?>
</div>
При выборе вновь созданного альтернативного макета default.php я могу изменить запись
Код
require JModuleHelper::getLayoutPath('mod_articles_news', '_item');

на
Код
require JModuleHelper::getLayoutPath('mod_articles_news', '[b]_new_item[/b]');

 и тогда у меня будет еще один шаблон вывода новостей?
Наверное да, а какой тогда указать путь до нового файла _new_item.php, который я бы хотел разместить в файлах шаблона (templates\template\html\mod_articles_news\), а не в файлах по умолчанию (modules\mod_articles_news\tmpl\)? Что вы можете посоветовать по этому вопросу: оставлять файлы там, где они находятся по умолчанию или помещать их в файлах шаблона? Как логичнее?

За предыдущий ответ, еще раз спасибо.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Все верно поняли.
Альтернативный шаблон вывода проще и правильнее также создавать в шаблоне, хотя система понимает и там и там..
*

weranda

  • Захожу иногда
  • 76
  • 3 / 0
Все верно поняли.
Альтернативный шаблон вывода проще и правильнее также создавать в шаблоне, хотя система понимает и там и там..

В файлах шаблона самой Joomla, расположенных по адресу modules\mod_articles_news\tmpl\, в файле выбора шаблона для текущего отображения есть строчка кода:
Код
require JModuleHelper::getLayoutPath('mod_articles_news', '_item');

как я понимаю этот путь указывает на текущее положение файла в структуре CMS. При размещении файла шаблона, указанного далее, путь по логике меняется, должен быть указан другой. Как будет выглядеть код этой строчки расположенной в создаваемом шаблоне по адресу templates\template\html\mod_articles_news\_item.php?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Это надо разбираться сейчас...
Но, кажется, ситуация похожа на давно мною описанную.

Хотя..  не.. это где вообще? И зачем туда лезть?
*

weranda

  • Захожу иногда
  • 76
  • 3 / 0
Хотя..  не.. это где вообще? И зачем туда лезть?
Проверил, действительно незачем туда лезть, все и так работает. Создал и назначил альтернативный макет и в созданном файле макета указал путь до шаблона, расположенного в этой же папке.
Спасибо вам еще раз за помощь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка Missing field in database: Joomla\CMS\Table\Extension &#160; extension_id

Автор Ragivort

Ответов: 1
Просмотров: 1597
Последний ответ 25.12.2025, 21:10:01
от fbr
как из Стиль модуля - none, убрать custom

Автор all_zer

Ответов: 3
Просмотров: 1244
Последний ответ 15.11.2025, 16:20:01
от all_zer
Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 6279
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 2370
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 2860
Последний ответ 09.05.2025, 12:39:18
от azm1n