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

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Здравствуйте.

Вопрос такой. В галерее можно сделать, рядом с категориями "висело" выделение, когда в нее (категорию), залиты новые изображения. А как можно сделать, чтобы такое же висело на каждом новом изображении в категории некоторое время (к примеру сутки)?
*

beliyadm

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

scaners

  • Захожу иногда
  • 131
  • 15 / 0
можно, добавив небольшой хак в код галереи (проверку на дату загрузки), готового не встречал
А вы знаете как этот хак делается? Потому что то, что для этого нужен хак, я догадывался.
*

beliyadm

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

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Готовый код конечно не дам, но схема такая вот :)
Ну а если продать?
*

beliyadm

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

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
посмотрел - даже деньги брать стыдно :)
файл datsogallery.php, находим строку (если включены графические уведомители на JS, если нет - то аналогичную в соседнем условии)
echo "onmouseout=\"return nd();\"><img src='$thumbnailpath$row1->imgthumbname' style='".$ad_imgstyle."' alt='".$tle."' /></a><br />";
и прямо под ней добавляем код
    //start NEW indicator
    
$today strtotime ('now');
    
$diff intval(($today $row1->imgdate) / $ad_periods);
	
if (!
$diff) {
	
	
echo 
"<a onmouseover=\"return overlib('Новое изображение')\" onmouseout=\"return nd();\"><img src='$gallerypath/images/new.gif' width='16' height='11' align='top' border='0' hspace='6' alt='' /></a>";
	
	
} else {}
    
//end NEW indicator

Расположением индикатора играть на свое усмотрение, я поместил под картинкой.
Индикация "NEW" работает для того же периода, что и для категории, по умолчанию - день
« Последнее редактирование: 12.08.2008, 22:33:10 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Огромное спасибо за помощь в решении данного вопроса! +1
*

tim0n

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Тему о модуле mod_snx_scroller_datsogallery закрыли, напишу здесь.
Как сделать так? чтобы в этом модуле тоже выводилась пометка "new" если в галерее есть новые фотки?
а то приходится публиковать новость на главной странице, что в галерею добавили новые фотки, а это неудобно.

Т.е.
Код
$new =  ??? ;
if ($new) {
    echo "<a onmouseover=\"return overlib('Новое изображение')\" onmouseout=\"return nd();\"><img src='$gallerypath/images/new.gif' width='16' height='11' align='top' border='0' hspace='6' alt='' /></a>";
}

В галерее есть функция
Код
function GetNewPics ($cat)
но ей нужно передать id категории, а как полчить список всех категории?
чтобы можно было сделать что нить подобное
Код
foreach($cats as $cat) {
    if (GetNewPics($cat)) {
        $new = 1;
        break;
    }
}
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Подскажите а как выставить срок действия значка NEW???Заранее благодарен!
*

SiG

  • Новичок
  • 9
  • 0 / 0
Конфигурация DatsoGallery -> Опции -> Список периодов:
Выбираете любой
*

selimoff

  • Захожу иногда
  • 243
  • 16 / 0
  • heads up!!!
Спасибо!!!!
JNavigation скачать Здесь
*

AstraZak

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
На 1.8.3 не работает, кто-нить может помоч?
И что вы над картинкой отображалось название, на сколько я понимаю это из той же оперы.
« Последнее редактирование: 16.10.2009, 16:16:53 от AstraZak »
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
На 1.8.3 не работает, кто-нить может помоч?
И что вы над картинкой отображалось название, на сколько я понимаю это из той же оперы.
Да хорошо бы такое сотворить!+5
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться