0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 981 Просмотров
*

abrodski

  • Захожу иногда
  • 100
  • 0 / 0
Здравствуйте!
У меня есть одно расширение Joomla и на сайте разработчика он выставил кучу Plugin Event'ов. По сути, просто PHP файлов с объяснениями. Но мне непонятна суть дела. Зачем это все? В каких случаях оно может понадобится и под какие типы задач (с конкретным примером, если можно)?
Спасибо!
*

sivers

  • Живу я здесь
  • 2464
  • 336 / 0
Чтобы можно было выполнять произвольные фрагменты кода в определенные моменты происходящего процесса. Например, что-то сделать сразу после авторизации пользователя или перед (после) добавления нового и т.д.
Это дает гибкость компонентам и возможность настраивать их под себя без изменения кода ядра. На события реагируют плагины.

Если кратко, то это все. И даже с примерами.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

abrodski

  • Захожу иногда
  • 100
  • 0 / 0
И даже с примерами.
Кстати, о примерах. Для конкретики. Есть расширение VikAppointments. Компания продает услуги на сайте. Там в админке заполяешь поля про услугу. Цена, кто исполнитель, налоги и т.д. А вот, например, если компания работает в разных регионах, то (если я правильно понимаю), то при помощи таких плагиновских событий (event'ов), то можно было бы добавить поле город и вывести это и на front end?
*

sivers

  • Живу я здесь
  • 2464
  • 336 / 0
Не знаком с этим расширением. Проверьте. Или поищите вызовы событий (триггеры) в коде расширения. Ищите по ключевому слову triggerEvent:
Код
$app->triggerEvent('onBeforeOrderSave', ...
в этом примере вызывается событие onBeforeOrderSave.
Если такой вызов найден, значит в этом месте можно "перехватывать" плагином.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

abrodski

  • Захожу иногда
  • 100
  • 0 / 0
Такого там нет. Хотя, в общем, в приложении я это нашел. Там разработчик сделал подробное пошаговое объяснение как добавить уровень сложности услуги и добавил к этому дополнительному полю процентный bar для front end'а. Но это другое. Собственно говоря, разработчик на конкретном примере объяснял как с нуля создавать плагины для Joomla. У него там я увидел это:

Код
onDisplayViewService

и это:

Код
onBeforeSaveService

У меня просто закончилась подписка на расширение (с поддержкой), а покупать поддержку отдельно пока особой нужды нет. Да я могу и весь код выложить, но мой вопрос более общего характера. Хотя я уже начинаю понимать общий смысл этих файлов. Помочь програмисту кастомизировать компонент, говоря простым русским языком. Ну и, соответственно, сократить издержки клиенту.
« Последнее редактирование: 23.05.2023, 02:52:34 от abrodski »
*

sivers

  • Живу я здесь
  • 2464
  • 336 / 0
Помочь програмисту кастомизировать компонент
Да, верно. Причем (что важно) без изменения кода самого компонента. Чтоб в случае его обновления ничего не ломалось и не затиралось.
Ну и, соответственно, сократить издержки клиенту.
А вот это вопрос спорный - не редко кастомизация и допиливание стоит дороже, чем само расширение у разработчика.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

abrodski

  • Захожу иногда
  • 100
  • 0 / 0
В общем, я все понял. Это просто разработчик таким образом упрощает жизнь того, кто в будущем может захотеть что то настроить под себя, что расширение как оно есть не позволит сделать без каких то изменений в его коде.

Дороже, может, оно и дороже. Но так немного дороже, а так сильно дороже :-) Ведь если программист получит всю информацию, то ему понадобится потратить намного меньше рабочего времени на кастомизацию расширения. Да я и сам столько всего правил, что потом расширение не узнать. Или там отдельный элемент сайта просто добавляемый к Joomla в новую папку. Типа галерей и т.п.

Спасибо за Ваши ответы!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Разработка, нужны советы] Компонент для УО (УК и тсж)

Автор rsa_m

Ответов: 192
Просмотров: 29707
Последний ответ 02.10.2022, 10:11:56
от w24-08