Создание исходного файла РНР для подключаемого модуля |
В листинге ниже приведен исходный код из файла РНР для рассматриваемого здесь подключаемого модуля. Листинг. Исходный код из файла myregistration2.php <?php Первая часть приведенного выше исходного кода ничем особенным не отличается от исходного кода рассмотренных ранее подключаемых модулей. Импорт класса 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. Понравился материал? Пригодилась информация? Плюсани в социалки!
|
Похожие новости | |