Есть ли способ сделать легкий аякс-вызов в Joomla?

Я хочу сделать легкий вызов ajax в Joomla (все, что мне нужно, это в основном скрипт php, который вызывает завиток). В настоящее время мы делаем это в задачах контроллера компонентов (com_home, com_widgit и т. Д.).

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

Я просмотрел com_ajax, но из того, что я могу сказать, это не то, что я ищу, поскольку я являюсь разработчиком компонента: http://docs.joomla.org/Using_Joomla_Ajax_Interface

If you are a component developer, you do not need to use com_ajax to implement Ajax functionality in it. You can do so directly in your component.

У меня также есть доступ к серверу и вы можете делать ajax-вызовы за пределами Joomla, но, поскольку это похоже на хак, я бы скорее использовал Joomla, если это было возможно.

Есть ли способ сделать легкий вызов ajax в joomla?

2 голоса | спросил ContextSwitch 6 42014vEurope/Moscow11bEurope/MoscowThu, 06 Nov 2014 23:56:51 +0300 2014, 23:56:51

1 ответ


1

Думая о наилегчайшем способе вызова своего компонента, поскольку вы выполняете внутри Joomla, вам нужно подождать, пока CMS будет инициализирована. (Если нет, вы ищете внешний скрипт)

  • Следуя всем доступным основным событиям, вы можете создать плагин для ответа на вызов и остановить оставшуюся часть выполнения. Например, onAfterInitialise
  • Вы также можете выполнить любой из следующих событий, например. onAfterRoute http://docs.joomla.org/Plugin/Events
  • Поскольку вы являетесь разработчиком компонента, вы можете установить создание плагина и установить plgAjaxYxxxx
  • Если вы хотите сохранить его внутри компонента и не плагины, вы можете вернуть ответ внутри основного скрипта php компонента во внутреннем диспетчере или как задача в контроллере .

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

ответил Anibal 7 52014vEurope/Moscow11bEurope/MoscowFri, 07 Nov 2014 20:15:42 +0300 2014, 20:15:42

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132