Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

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

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Товарищи, такой вот вопрос назрел (не придумаю как лучше сделать)
Имею 1.5.10, двух-уровневое обычное меню:
- Р 1
   -- Д 1.1
   -- Д 1.2
- Р 2
   -- Д 2.1
   -- Д 2.2
Нужно для Р1 и Р2 подгружать разные CSS, отловил в шаблоне ItemID - все прекрасно.
Но - у детенышей итемы уже другие, то есть перешел в Д 1.1 и стили от Р1 уже не цепляются, бо сменился ItemID
Пока решил так - в кейсе в Index.php шаблона перечислил итемы как Р1 так и всех его детей для подгрузки стиля.
Но терзают меня смутные сомнения, что так не очень хорошо.
Потому вопрос - можно ли на уровне шаблона (без лишнего SQL запроса на вытягивание родителя по текущему ItemID) отловить итем родителя, находясь в его подпунктах? Либо какие еще могут быть решения для подгрузки отдельного CSS всей ветки меню Р1 + Д 1.1 + Д 1.2
« Последнее редактирование: 15.05.2009, 17:38:45 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Глянь
<?php $m = &JSite::getMenu();
 print_r ($m);
?>
Есть там вроде parent, не досмотрел, в глазах зарябило
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
угу спасибо, есть там parent, но не нравится мне такая идея вытягивания, все таки напишу ка я запрос, думаю что один лишний запрос базу не повесит :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Цитировать
не нравится мне такая идея
Не моя  ;D
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
Сервер грузит не количество, а качество запросов - большие объемы данных, сложные запросы на кучу таблиц по куче индексов с кучей подзапросов. Поэтому такой запрос не то чтобы повесит сервер, а даже сервер его вообще не заметит :) Кроме того, в модуле можно включить кеширование с огромным сроком действия (месяц, к примеру не так ведь часто после запуска сайта новые пункты добавляются, да и почистить его можно принудительно, если добавились пункты ).

Вот такие у меня мысли по сабжу и вообще по теме беспокойств по поводу запросов к серверу баз данных.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
VETERINAR - ну эт естессно, просто хотел обойтись как то красиво с помощью встроенных функций, но парится с ними буду дольше нежели лишний запрос.
В общем задача решена, всем спасибо :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
В общем если вдруг кому интересно и понадобится - мое решение
$Itemid 
	
JRequest::getInt'Itemid'1'get' );
$db 
	
	
= & 
JFactory::getDBO();
$query 'SELECT parent FROM #__menu WHERE id = '.$Itemid.' AND published = 1 ';
$db->setQuery($query); $curiyemid $db->loadResult();
    if (
$curiyemid == '0') {
    
	
$curiyemid $Itemid;
    } else {   }
switch (
$curiyemid) {
	
case 
'1'
	
	
echo 
'<link rel="stylesheet" href="'.$tplurl.'/css/style1.css" type="text/css" />';
	
break;
	
case 
'2'
	
	
echo 
'<link rel="stylesheet" href="'.$tplurl.'/css/style2.css" type="text/css" />';
	
break;
	
default:
 
	
break;
}

То есть - если выбранный пункт меню имеет родителя (то есть parent не равен 0) то пляшем от ID родителя
Если же нуль - то от текущего ItemID корневого пункта
Примитивно и работает :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 9220
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 4193
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 5875
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 24533
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 4582
Последний ответ 01.03.2019, 11:12:18
от vasmed