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

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Практически заканчиваю работу над парсером матчей, но возникла новая проблема, просьба помочь или подсказать куда копать, если не сложно.

Вот выхлоп парсера:
http://parsing.ga/

Допустим, каждой стране я присвою свой уникальный класс:
Код
<tr class="ispania-primera"></tr>

Каким образом средствами js/css можно было бы найти группу строк с совпадающими классами и после последнего элемента вставить какой-нибудь разделитель, да хотя бы тот же border-bottom?

При этом, разделитель нужно вставлять только в том случае, если на странице более нет элементов с таким классом, т. е. элементы все собраны в одну кучку. Соответственно, если элементы не собраны в кучу разделитель надо убирать.

Это нужно потому, что таблица у меня с возможностью сортировки и хотелось бы, чтобы при сортировке по колонке Турнир, блоки со странами как-нибудь разграничивались между собой.

P. S. С меня заправка мобильного телефона или Яндекс.Кошелька на 300 р. если кто сможет помочь.
« Последнее редактирование: 01.11.2018, 20:39:24 от dm-krv »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Это проще сделать сначала в php.
Надо используя значение которое определяем тип турнира и использовать его для создания нового массива для каждого турнира.
Это просто сделать, только не знаю какой массив возвращает БД
« Последнее редактирование: 01.11.2018, 18:00:20 от NewUsers »
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Это проще сделать сначала в php.
Надо используя значение которое определяем тип турнира и использовать его для создания нового массива для каждого турнира.
Это просто сделать, только не знаю какой массив возвращает БД

На php могу и сам, достаточно поднаторел, но если я буду группировки делать в php, то тогда и сортировку по колонкам надо делать на php, а потом вытягивать аяксом, а это лишний геморой, так как сейчас сортировка осуществляется уже готовым js скриптом.

Короче, проверку на кучи здесь как раз здесь легче на js или jquery сделать, иначе мне придется переделывать весь php скрипт, а это точно лишний день уйдет. Жаль только я в js не понимаю пока ничего.
« Последнее редактирование: 01.11.2018, 18:11:47 от dm-krv »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
На сортировка это не влияет, просто корне массива будет определение типа турнира, а сложенные массивы уже будут содержать строки которые относятся в данному турниру...

Посмотри jquery плагин datatable, там есть сортировка, группировка и ajax
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
На сортировка это не влияет, просто корне массива будет определение типа турнира, а сложенные массивы уже будут содержать строки которые относятся в данному турниру...

Посмотри jquery плагин datatable, там есть сортировка, группировка и AJAX


Да как это не влияет то?! Как раз таки влияет, если я в массиве присвою какому-то элементу класс, который создает разделитель после себя. То при сортировке таблицы на стороне клиента разделители сместятся и это поломает весь замысел. Я же говорю, если делать группировку на php, то тогда мне надо убирать js сортировку и его (сортировку) также производить на сервере.
« Последнее редактирование: 01.11.2018, 18:25:39 от dm-krv »
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Может это ?

Код
tr.ispania-primera:last-of-type{border-bottom:1px solid #000;}
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Может это ?

Код
tr.ispania-primera:last-of-type{border-bottom:1px solid #000;}

Если бы все было так просто. Если строки tr.ispania-primera будут идти в разброс (а не одним блоком-кучей), то данный CSS поломает весь внешний вид.

Как вариант, можно добавлять данный стиль на страницу при клике на колонку турнир и убирать при клике на другие колонки.

Не подскажешь как реализовать добавление и удаление указанного стиля через js при клике на определенный якорь?
« Последнее редактирование: 01.11.2018, 18:38:48 от dm-krv »
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Код
$( "#target" ).click(function() {
   $("tr.ispania-primera:last-of-type").css("border-bottom","1px solid #000");
}
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Код
$( "#target" ).click(function() {
   $("tr.ispania-primera:last-of-type").css("border-bottom","1px solid #000");
}



Это я так понимаю, добавляет стиль. Если мне надо три разных стиля, то будет:
Код
$( "#target" ).click(function() {
   $("tr.ispania-primera:last-of-type").css("border-bottom","1px solid #000");
   $("tr.ispania-primera2:last-of-type").css("border-bottom","1px solid #000");
   $("tr.ispania-primera3:last-of-type").css("border-bottom","1px solid #000");
}

Верно надеюсь? Плюс, как эти стили теперь обратно удалить при клике уже допустим другой кнопки #target2?
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Да, удалить можно:
Код
$("tr.ispania-primera:last-of-type").css("border-bottom","");
Ну и тестить на примерах.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Да, удалить можно:
Код
$("tr.ispania-primera:last-of-type").css("border-bottom","");
Ну и тестить на примерах.

По идее, это решение моей проблемы. Завтра проверю и отпишусь. Скинь в личку Я.К или номер телефона, оплачу завтра. Большое спасибо)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка файла в input посредством JavaScript [РЕШЕНО]

Автор dm-krv

Ответов: 40
Просмотров: 10909
Последний ответ 02.12.2020, 10:36:37
от dm-krv
Как правильно клонировать коллекцию FileList? [РЕШЕНО]

Автор dm-krv

Ответов: 5
Просмотров: 1355
Последний ответ 12.10.2019, 18:33:11
от dm-krv
Решить проблему зависания страниц при переходе на https (решено)

Автор sega

Ответов: 0
Просмотров: 855
Последний ответ 07.03.2019, 10:14:45
от sega
Найти скрипт на странице [ НЕ АКТУАЛЬНО, УЖЕ СДЕЛАНО ]

Автор dm-krv

Ответов: 16
Просмотров: 1103
Последний ответ 11.08.2018, 21:25:21
от voland