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

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Здравствуйте, в шаблоне у страницы с контентом есть отступ сверху в 60px, вот так мне его убрать чтоб его не было только на главной странице?
У меня на главной странице стоит один слайдер, и снизу между футером и ним большой отступ от страницы контента (она пустая), там  padding-top: 60px, можно как нибудь
Код
div#gkPageContentWrap {
  display: none;
}
применить только к главной странице? Такое вообще возможно?  ^-^

*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скрыть на определенной странице
« Ответ #1 : 16.04.2015, 19:02:10 »
ссылку на сайт дайте
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Скрыть на определенной странице
« Ответ #3 : 16.04.2015, 20:01:34 »
Код
$menu = & JSite::getMenu();

if ($menu->getActive() == $menu->getDefault()) {

// на главной
Правило для элемента для удаления отступа
} else {

// тут всё что не на главной

}
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скрыть на определенной странице
« Ответ #4 : 16.04.2015, 21:54:36 »
В разметке:
Код: php-brief
<body class="<?php $menu = JSite::getMenu(); echo ( ( $menu->getActive() == $menu->getDefault() )? 'mainpage' : 'nonmainpage' ); ?>">

В стилях:
Код: css
body.mainpage div#gkPageContentWrap {padding-top:0!important;}

PS: дать ссылку на сайт и закрыть его - это да, это сильно...
« Последнее редактирование: 16.04.2015, 22:01:29 от AlekVolsk »
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Re: Скрыть на определенной странице
« Ответ #5 : 16.04.2015, 22:27:15 »
Открыл  ^-^ . Я его не давно закрыл, думал что уже никто не поможет  ^-^ он у меня открытый был когда ссылку выложил
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Re: Скрыть на определенной странице
« Ответ #6 : 16.04.2015, 22:35:05 »
В разметке:
Код: php-brief
<body class="<?php $menu = JSite::getMenu(); echo ( ( $menu->getActive() == $menu->getDefault() )? 'mainpage' : 'nonmainpage' ); ?>">
в

В стилях:
Код: css
body.mainpage div#gkPageContentWrap {padding-top:0!important;}

В разметке это в default.php(index.php) шаблона?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скрыть на определенной странице
« Ответ #7 : 16.04.2015, 22:48:13 »
в index.php или - для шаблонов на фреймворках - там, где идет рендер основных контейнеров, body в частности

у вас там для body уже выводятся классы, осторожнее новое вводите
« Последнее редактирование: 16.04.2015, 22:52:09 от AlekVolsk »
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Re: Скрыть на определенной странице
« Ответ #8 : 16.04.2015, 22:50:18 »
Спасибо за помощь  ^-^
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Re: Скрыть на определенной странице
« Ответ #9 : 16.04.2015, 23:51:06 »
Ээх, не получается, куда вставить
Код
<body class="<?php $menu = JSite::getMenu(); echo ( ( $menu->getActive() == $menu->getDefault() )? 'mainpage' : 'nonmainpage' ); ?>">
?
не ткнете носом?
Спойлер
[свернуть]
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скрыть на определенной странице
« Ответ #10 : 17.04.2015, 00:06:20 »
1. такие листинги не только скрывайте под спойлер, но и оформляйте как код, не забывайте вид кода указывать

2. это:
Код: php
if($this->browser->get('browser') == 'ie8') {
   $this->page_suffix .= ' ie8mode';
}
if($this->API->get('template_style', '1') == 2) {
   $tpl_page_suffix = $this->page_suffix != 'class=pattern"'.$this->API->get('template_pattern', '1').'"' ? ' class="'.$this->page_suffix.' pattern'.$this->API->get('template_pattern', '1').'"' : '';
} else {
   $tpl_page_suffix = $this->page_suffix != '' ? ' class="'.$this->page_suffix.'"' : '';
}

замените на это:
Код: php
$menu = JSite::getMenu();
$bodyclass =  ( $menu->getActive() == $menu->getDefault() )? 'mainpage' : 'nonmainpage';
if($this->browser->get('browser') == 'ie8') {
   $this->page_suffix .= ' ie8mode';
}
if($this->API->get('template_style', '1') == 2) {
   $tpl_page_suffix = $this->page_suffix != 'class=pattern"'.$this->API->get('template_pattern', '1').'"' ? ' class="'.$bodyclass.' '.$this->page_suffix.' pattern'.$this->API->get('template_pattern', '1').'"' : ' class="'.$bodyclass.'"';
} else {
   $tpl_page_suffix = $this->page_suffix != '' ? ' class="'.$bodyclass.' '.$this->page_suffix.'"' : ' class="'.$bodyclass.'"';
}
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Re: Скрыть на определенной странице
« Ответ #11 : 17.04.2015, 00:12:01 »
Спасибо ещё раз  ^-^
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скрыть на определенной странице
« Ответ #12 : 17.04.2015, 08:46:06 »
Поправка: если у вас J3, то меню получать так:
Код: php
$menu = JFactory::getApplication()->getMenu();
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Re: Скрыть на определенной странице
« Ответ #13 : 17.04.2015, 13:38:30 »
Поправка: если у вас J3, то меню получать так:
Код: php
$menu = JFactory::getApplication()->getMenu();
Да вроде и с
Код
$menu = JSite::getMenu();
всё путем работает :)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скрыть на определенной странице
« Ответ #14 : 17.04.2015, 15:16:41 »
Были частные случаи, когда JSite::getMenu(); почему-то возвращал меню, в котором getActive() == null
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работают стили на одной странице

Автор yyyuuu

Ответов: 1
Просмотров: 3097
Последний ответ 17.02.2023, 17:11:08
от marksetter
Как отобразить текст только на мобильных, на Пк и планшетах скрыть?

Автор web1

Ответов: 6
Просмотров: 4386
Последний ответ 20.09.2022, 22:14:03
от darkghost
Запретить наследование из шаблона на странице SP Page Build

Автор AlexP750

Ответов: 15
Просмотров: 2672
Последний ответ 17.08.2021, 12:30:51
от AlexP750
Как скрыть option value?

Автор videoruslan

Ответов: 9
Просмотров: 2443
Последний ответ 17.05.2019, 09:40:36
от videoruslan
Убрать отступы на главной странице в шаблоне Helix 3

Автор shrek_01

Ответов: 2
Просмотров: 2596
Последний ответ 13.01.2017, 11:48:53
от Ragivort