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

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Как можно выводить свежие материалы другим цветом? Под Joomla 1.0.x было решение для стандартного модуля latestnews. Есть ли решение для Joomla 1.5?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Свежие материалы другим цветом
« Ответ #1 : 21.11.2009, 00:36:54 »
сделать то можно, на уровне модуля вообще легко - сравниваем дату создания материала с текущей, если меньше чем - задаем отдельный класс
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Re: Свежие материалы другим цветом
« Ответ #2 : 21.11.2009, 01:02:40 »
сделать то можно, на уровне модуля вообще легко - сравниваем дату создания материала с текущей, если меньше чем - задаем отдельный класс

Хмм... В PHP я мало что понимаю. ))) Если есть решение, или если это можно накидать за "пару строк", будет здорово. Я думаю, много кому может пригодится подобный хак.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Свежие материалы другим цветом
« Ответ #3 : 21.11.2009, 01:03:35 »
так хак для чего именно - модуля последних новостей, стандартного блога раздела или категории, собственно страницы полного текста материала или где?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Re: Свежие материалы другим цветом
« Ответ #4 : 21.11.2009, 10:12:50 »
так хак для чего именно - модуля последних новостей, стандартного блога раздела или категории, собственно страницы полного текста материала или где?

Для mod_latestnews
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Свежие материалы другим цветом
« Ответ #5 : 23.11.2009, 10:08:25 »
напомните, пожалуйста, ближе к вечеру либо завтра
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Re: Свежие материалы другим цветом
« Ответ #6 : 23.11.2009, 10:19:35 »
напомните, пожалуйста, ближе к вечеру либо завтра

Хорошо. Заранее спасибо за участие!
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Re: Свежие материалы другим цветом
« Ответ #7 : 24.11.2009, 14:40:32 »
Все, уважаемый beliyadm - можете не затрудняться. Вопрос решен!
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Свежие материалы другим цветом
« Ответ #8 : 24.11.2009, 14:44:43 »
Все, уважаемый beliyadm - можете не затрудняться. Вопрос решен!
я только собирался сесть :)
ну так а если не секрет - решен каким образом? Уверен что другим пользователям тоже будет полезно данное решение
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Re: Свежие материалы другим цветом
« Ответ #9 : 24.11.2009, 15:07:53 »
Конечно, чуть попозже выложу обяхательно
« Последнее редактирование: 24.11.2009, 15:12:39 от scaners »
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Re: Свежие материалы другим цветом
« Ответ #10 : 24.11.2009, 15:38:31 »
Обещанная модификация. Произведена tsesl, за что ему огромное спасибо!

---НАЧАЛО---

В файле modules/mod_latestnews/helper.php строка:


$lists
[$i]->text htmlspecialchars$row->title );


ниже добавляем инициализацию признака "свежести" материала:


$lists
[$i]->new_flag modLatestNewsHelper::_isNewContent$row->created$period );


далее немного ниже по коду едет:


return $lists;
}


следом добавляем функцию, вычисляющую сам признак "свежести" материала:


function _isNewContent$date$period ){
$end_period gmdate'U'mktime000gmdate('m'), gmdate('d') - $periodgmdate('Y') ) );
$config =& JFactory::getConfig();
$offset $config->getValue('config.offset');
$o_date =& JFactory::getDate$date );
$o_date->setOffset$offset );

return ( 
$o_date->toUnix() >= $end_period );
}


Сохраняем.

В файле modules/mod_latestnews/mod_latestnews.xml строка


<param name="count" type="text" default="5" label="Count" description="The number of items to display (default 5)" />


ниже добавляем параметр для административной части модуля, позволяющий настраивать глубину "свежести" материала:


<param name="period" type="text" default="0" label="Period" description="The number of days ago for new (default 0 - today)" />


Сохраняем.

В файле modules/mod_latestnews/tmpl/default.php строка:


<li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">


меняется на аналогичную с оценкой признака "свежести":


<li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?><?php echo ($item->new_flag ? ' new'.$params->get('moduleclass_sfx') : ''); ?>">


Сохраняем.

Как проявляется? Изначально мы имели структуру типа:


<ul class="latestnews">
<
li class="latestnews"><...>...</a></li>
...
<
li class="latestnews"><...>...</a></li>
</
ul>


Теперь для li, в случае свежести материала, добавляется класс new с суффиксом модуля, если указан, т.е. структура приобретает вид:


<ul class="latestnews">
<
li class="latestnews new"><...>...</a></li>
...
<
li class="latestnews"><...>...</a></li>
</
ul>


---КОНЕЦ---

P.S. Прилепите куда нить в важное. Можно даже в FAQ. Ибо многим будет полезно.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Свежие материалы другим цветом
« Ответ #11 : 24.11.2009, 15:55:26 »
P.S. Прилепите куда нить в важное. Можно даже в FAQ. Ибо многим будет полезно.
ну и отлично, я добавил в общую тему по модификации модуля latestnews
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перестал сохранять материалы и модули

Автор Igoritaly

Ответов: 2
Просмотров: 1659
Последний ответ 11.08.2017, 13:37:48
от Igoritaly
Не отображаются материалы и ссылки на сайте (joomla 1.5)

Автор МарияЛ

Ответов: 1
Просмотров: 3023
Последний ответ 18.03.2017, 19:22:31
от rebus
Нужен код времени создания материалы

Автор lotosss

Ответов: 0
Просмотров: 1522
Последний ответ 24.04.2014, 16:05:12
от lotosss
Как изменить количество материалов в mod_related_items (похожие материалы)

Автор slavbos

Ответов: 8
Просмотров: 3956
Последний ответ 22.04.2014, 21:57:33
от LolyCryu
Сделать все материалы отображаемыми на главной странице

Автор Свят

Ответов: 1
Просмотров: 1105
Последний ответ 20.03.2014, 20:01:01
от Свят