Новости 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 Ответов
  • 1174 Просмотров
*

Hardcorex2

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Здравствуйте!
Как по производльному ID материала узнать ID его категории. При условии, что речь идет не о материале, отображаемом в данный момент.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код: php-brief
ContentModelArticle->getItem(ID_материала)
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Код: php-brief
ContentModelArticle->getItem(ID_материала)
Можно и так, но все зависит от контекста. Поэтому и попросил конкретней, например в макетах com_content обычно доступ к ID категории есть через $item->catid. IMHO, пока ТС не сообщит подробности, нет смысла гадать.
*

Hardcorex2

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Спасибо всем!
Искал варинт, который можно применить везде или почти: в модуле, плагине, компоненте. Честно говоря, в API пока плаваю, поэтому сделел через setQuery.
*

Hardcorex2

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Примерно так:

Код
...
$db = JFactory::getDbo();
$sql="SELECT catid FROM #__content WHERE id='".$matid."' LIMIT 0, 1";
$db->setQuery( $sql );
$par->resid = $db->loadResult('catid');
$sql="SELECT title FROM #__categories WHERE id='".$par->resid."' LIMIT 0, 1";
$db->setQuery( $sql );
...

Может статься так, что скорее всего, изначально я неправильно задал вопрос. Но вроде от него исходил поиск решения общего плана. Пардоньте. Честно говоря и php и Joomla API для меня откровения


И еще что касается ману- тутори- и прочих -алов :
книжки по программирванию хороши с примерами. Может это конечно для тупых вроде меня, но посмотрел и все ясно. Уверен, что от "букваря" многие бы не отказались
Для Joomla насколько понял есть отдельная категория вопросов - как получить одно, зная другое.
Для опытных документации по фреймворкам может быть достаточно.
« Последнее редактирование: 22.03.2014, 00:57:37 от Hardcorex2 »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

Hardcorex2

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
$matid откуда приходит? У Вас же дыра, SQL Injection... И еще, title можно вытащить простым leftJoin.
http://docs.joomla.org/Selecting_data_using_JDatabase

Спасибо! Откровения продолжаются.
Код, который я применял - находится в helperе модуля. Может опять заблуждаюсь, но он вроде как исполняется в недрах.
Переменная получается из поля в настройках модуля в админке. Согласен, название дурацкое у нее.

Я посмотрел как выдергивают разное все на форуме и подумал, что это модно.
Т.е. лучше то, что написано ранее переписать под Selecting data using JDatabase?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Hardcorex2 ну лучше использовать JDatabase. И дело не в названии пременной (хотя лучше задавать понятные имена), а дело в том,  что никогда не доверяйте тому, что вводить пользователь. Представьте что он вместо параметра модуля указал не цифру, а какое-то SQL выражение. Ваш код его проглотит и даже не поперхнется...
*

Hardcorex2

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 2653
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 1677
Последний ответ 22.11.2024, 07:14:15
от stepan39
Перенести описание категории вниз страницы

Автор jimka

Ответов: 1
Просмотров: 1793
Последний ответ 18.07.2024, 08:02:46
от Vastriet
Сортировка по доп. полям на странице списка категории

Автор revil

Ответов: 4
Просмотров: 2127
Последний ответ 02.06.2024, 13:42:45
от tigra-uki
Мне узнать, как решить эту проблему

Автор TrevorRivera

Ответов: 1
Просмотров: 591
Последний ответ 31.01.2024, 11:00:16
от Vastriet