2012-04-25 3 views
1

Я пишу расширение joomla, которое является компонентом (а не плагином), однако мне также нужно иметь возможность обнаруживать, когда публикация статьи. Я решил, что могу сделать это с помощью плагина, который ловит системное событие onContentChangeState, однако я не могу понять, как поймать событие с помощью компонента. Есть идеи?Joomla - как поймать системные события

Я знаю, что самое легкое решение состоит в том, чтобы сделать это как два расширения, плагин и компонент, но это неприемлемо. Он должен быть частью компонента.

+1

Возможно, я ошибаюсь, но я уверен, что это можно сделать только с помощью плагина – Trev

ответ

1
  1. Ответы на события могут выполняться только с помощью плагина, только plugins can act as observers для событий триггеров. (Для этого требуется серьезный взлом ядра).
  2. A Joomla Component несет ответственность за «основное содержание», отображаемое на странице (переднем/заднем конце). Он не действует как наблюдатель (в то время как устарел component flow is still similar to this diagram).
  3. Общий дизайн и практика заключается в отправке компонента с помощью собственного плагина, например. JCE, Virtuemart, Akeeba и список можно продолжать ...
  4. От Joomla! 1.6 и далее один Package может включать в себя несколько архивов, каждый со своим собственным manifest т. Е. Компонентом и связанными с ним плагинами.

Конечным результатом является то, что вы можете сделать одно расширение, которое использует один пакет установки для его нескольких элементов.

Смежные вопросы