Комментарии

Основные стадии процесса создания расширений для Joomla
( 0 Голосов )
Основные стадии процесса, следующие по блок-схеме сверху вниз, остаются теми же, что и прежде, но в данном случае они дополняются двумя событиями. Первое событие, называемое onBeforeSave, наступает после проверки достоверности данных из статьи, но перед их сохранением в базе данных. А второе событие, называемое onAfterSave, наступает вслед за успешным сохранением в базе данных, но перед завершением процесса. Эти события прерывают обычный ход выполнения программы, позволяя организовать их специальную обработку. По завершении этой обработки обычный ход выполнения программы возобновляется.
 
В Joomla обнаруживаются два подключаемых программных модуля с методами onBe fore Save и onAf ter Save для обработки упомянутых выше событий. Следует, однако, иметь в виду, что в зависимости от реализации Joomla количество модулей, подключаемых и выполняемых для обработки событий, может находиться в пределах от 0 до 10. Всякий раз, когда сохраняется статья, в Joomla сначала проверяются любые методы, которые следует выполнить, а затем они выполняются по очереди.
 
Обратимся к конкретному примеру. Допустим, нам требуется проверить каждую статью, публикуемую на сайте, и убедиться в том, что в ней имеются ключевые слова, определенные в метаданных. Допустим также, что мы уже написали программу для поиска определенных слов в каждой статье и добавления их к ключевым словам.
 
Используя событие onBeforeSave, мы можем очень просто реализовать описанную выше функцию в виде специального подключаемого модуля. Для этого достаточно создать подключаемый модуль с методом onBeforeSave и запустить нашу программу на выполнение. В данном случае метод из подключаемого модуля принимает статью в качестве своего параметра, что упрощает проверку содержимого статьи и обновление столбца с ключевыми словами перед сохранением статьи. При этом мы не изменяем файлы базового кода, а лишь добавляем новый код в нужном месте, чтобы он был обнаружен в Joomla и выполнен в подходящий момент.
 
Замечательная особенность событий состоит в том, что они всегда присутствуют, но не мешают. Joomla может очень быстро проверить наличие любых методов, которые требуется выполнить для обработки отдельного события. Событие считается инициированным, если программа проверяет методы его обработки и, обнаружив, выполняет их. События можно инициировать из собственного кода, а по мере необходимости даже сформировать специальные события.
 
 

Понравился материал? Пригодилась информация? Плюсани в социалки!

 
Похожие новости