Создание исходного файла РНР для подключаемого модуля |
В листинге ниже приведен исходный код из файла РНР для рассматриваемого здесь подключаемого модуля. Листинг. Исходный код из файла myregistration2.php /** Copyright (С) 2012 Mark Dexter and Louis Landry Первая часть приведенного выше исходного кода ничем особенным не отличается от исходного кода рассмотренных ранее подключаемых модулей. Импорт класса JPlugin опирается на автозагрузчик, а далее этот класс расширяется. Получающемуся в итоге классу подключаемого модуля присваивается имя plgUserMyRegistration2 в соответствии с принятыми условными обозначениями. У данного класса имеется единственный метод onContentPrepareForm (). Событие onContentPrepareForm инициируется в тот момент, когда форма из объекта типа JForm подготовлена, но еще не воспроизведена. Мы можем видоизменить объект типа JForm в рабочей области оперативной памяти, прежде чем воспользоваться им для создания формы. Упомянутому выше методу передаются два аргумента: переменная $f orm, в которой хранится объект типа JForm, а также переменная $data, в которой хранится стандартный объект с любыми данными для заполнения формы. Затем проверяется, является ли обрабатываемая форма регистрационной. Если она таковой не является, а следовательно, обрабатывается другая форма, происходит возврат из данного метода. С этой целью форма проверяется по ее названию. Если оно не совпадает с именем com_users. registration, происходит возврат из метода без всякой обработки данных. Итак, мы выяснили, что обрабатываемая форма является регистрационной. Поэтому далее загружается файл языковой поддержки для перевода текста надписей в форме на избранный язык. А вся работа по созданию двух новых полей выполняется в самой последней строке кода. С этой целью вызывается метод loadFile () из класса JForm с файлом form, xml в качестве аргумента. В итоге поля из файла form.xml добавляются в форму, которая уже загружена в рабочую область оперативной памяти из стандартного XML-файла (в данном случае— components/com_users/models/forms/registration. xml). А поскольку оба поля из файла form, xml оказываются новыми для данной формы, т.е. они отличаются своими именами от других полей формы, то они беспрепятственно добавляются в эту форму. Вот, собственно, и все. Итак, новые поля из файла form. xml добавлены в форму регистрации пользователя, а следовательно, они включаются в общий вывод. Как упоминалось ранее, дополнительный код для проверки факта установки обоих флажков в данной форме не требуется, поскольку в их полях используется атрибут required, предписывающий выполнить такую проверку автоматически средствами класса JForm.
Понравился материал? Пригодилась информация? Плюсани в социалки!
|
Похожие новости | |