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

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
По просьбе пользователя ice300man набросал добавление постраничной навигации в страницы галереи ( Популярные | Лучшие | Новые | Комментарии)
Немного теории. Статья официальной вики Using JPagination in your component
Работать будем с файлом components\com_datsogallery\sub_viewspecial.php
В самое начало файла добавляем вызов родного класса навигации, кол-во выводимых на страницу берем из настроек галереи "Топ-список на страницу"
Код: php
jimport('joomla.html.pagination');
$limit  = $ad_toplist;
$limitstart  = JRequest::getVar('limitstart', 0, 'int');
$page_nav_links ='';
После в каждый case (кроме find) добавляем дополнительный запрос на получение общего количества изображений, удовлетворяющих условиям, создаем новый объект класса JPagination.
Пример для case 'rating'
Код: php
$query = "SELECT count(*) AS count FROM #__datsogallery WHERE imgvotes > 0 AND published=1 AND approved=1 ";
$db->setQuery($query);
$row = $db->LoadObject();
$total = $row->count;
$pageNav = new JPagination( $total, $limitstart, $limit );
$page_nav_links = $pageNav->getPagesLinks();
В самом запросе заменяем параметр LIMIT на limit $limitstart, $limit

Все, теперь добавив в вывод нашу переменную мы получаем постраничную навигацию. Я добавил после закрытия общего </table>
Код: php
<?php echo $page_nav_links; ?>

В вложении модифицированный файл sub_viewspecial.php, достаточно просто заменить стандартный (не забываем про резервную копию)


Пример работы на одном из сайтов для раздела фотографий конкретного автора (там добавлена нестандартная опция просмотра авторов по алфавиту, это конкретная доработка под проект)

P.S. и когда уже Андрей перепишет привязку картинки к автору по ID а не по username, ведь это дебилизм полный

[вложение удалено Администратором]
« Последнее редактирование: 21.09.2009, 16:04:32 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm

Спасибо вам спасибо.
 *DRINK* :D ;) ;)
Вы очень добры .
Спасибо вам спасибо еще раз.
*

Peroon

  • Захожу иногда
  • 247
  • 11 / 1
  • http://textonix.ru
Цитировать
P.S. и когда уже Андрей перепишет привязку картинки к автору по ID а не по username, ведь это дебилизм полный

Тут вопрос спорный. если сделать авторов по ID то нужно будет тащить отдельную таблицу, а часто, при копипейсте фоты размещают не авторы.
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Тут вопрос спорный. если сделать авторов по ID то нужно будет тащить отдельную таблицу, а часто, при копипейсте фоты размещают не авторы.
не понял, зачем тащить отдельную таблицу?
У нас в таблице картинок есть поле owner, там сейчас прописывается имя пользователя, загрузившего изображение.
Если пользователь имя сменил - объект отвязывается от него.
При загрузке отлавливать $user-id а не $user->name и все будет прекрасно (ну и переписать пару опций вывода на фронте)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
А как добавить сверху АВТОРЫ?
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А как добавить сверху АВТОРЫ?
Это моя модификация галереи, комментировать и выкладывать пока не буду
В принципе ничего сложного, добавлен новый CASE в sub_viewspecial.php и пара функций в вывод
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Это моя модификация галереи, комментировать и выкладывать пока не буду
В принципе ничего сложного, добавлен новый CASE в sub_viewspecial.php и пара функций в вывод
Да жалко Хорошая модификация! Наверное тяжело самому сделать?
*

beliyadm

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

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
нет, времени минут 20-30
А по подробнее не опишешь??Очень хочется такой сделать!
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Объяснять не буду, но приложу sub_viewspecial из будущего компонента JooPic, с аналогичной функцией (смотреть case 'owners' и if (@$sorting == 'owners') собственно вывод на экран)

[вложение удалено Администратором]
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Объяснять не буду, но приложу sub_viewspecial из будущего компонента JooPic, с аналогичной функцией (смотреть case 'owners' и if (@$sorting == 'owners') собственно вывод на экран)
Блин спасибо большое!
*

tgk

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
А существует данный хак для версии 1.6.2 ?? Если есть выложите.
Заранее спасибо.
*

Aalia

  • Захожу иногда
  • 67
  • 1 / 0
Ребят, кто знает решение проблемы в случае вертикальной навигации в 1.8.8 ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Datso в качестве каталога - дополнительные поля

Автор beliyadm

Ответов: 75
Просмотров: 37720
Последний ответ 03.10.2011, 16:19:57
от otshelnik
[DownLoad] Datso Gallery + New Userpannel /Joomla 1.5.x

Автор ershovdz

Ответов: 115
Просмотров: 65220
Последний ответ 02.10.2010, 18:58:14
от icy-heart
Модификация datso

Автор Iven

Ответов: 4
Просмотров: 3241
Последний ответ 22.05.2009, 15:24:40
от Iven
Datso 1.5 ошибка в обработке имени файла. Найдено решение.

Автор Фей

Ответов: 6
Просмотров: 3377
Последний ответ 24.07.2008, 14:24:42
от PaLyCH
Убрать заголовок категории в Datso

Автор Melnikoff

Ответов: 1
Просмотров: 3520
Последний ответ 23.07.2007, 03:49:47
от put_nik