Ранее были внесены изменения в файлы.
копируем из
components/com_users/views/registration/tmpl/
в
templates/protostar/html/com_users/registration/
файлы
default.php и default.xml и меняем им названия, к примеру на approval.php и approval.xml
approval.php
// здесь большое количество кода // .....
approval.xml
Добавлены языковые замещения
language/overrides/en-GB.override.ini
MY_NEW_REGISTRATION="Registration form with additional fields" TERMS_OF_SERVICE="Terms of service" AGREE="I agree to the terms of use" AGE="I am at least 18 years old"
language/overrides/ru-RU.override.ini
MY_NEW_REGISTRATION="Регистрационная форма с дополнительными параметрами" TERMS_OF_SERVICE="Условия обслуживания" AGREE="Я согласен с условиями обслуживания" AGE="Мне уже есть 18 лет"
administrator/language/overrides/en-GB.override.ini
MY_NEW_REGISTRATION_TITLE="Registration form with additional fields" SHOW_AGE_CHECKBOX="Show Age Checkbox" SHOW_AGE_CHECKBOX_DESCRIPTION="Show or hide the age checkbox" AGE_CHECKBOX_DESCRIPTION_HIDE="Hide" AGE_CHECKBOX_DESCRIPTION_SHOW="Show"
administrator/language/overrides/ru-RU.override.ini
MY_NEW_REGISTRATION_TITLE="Регистрационная форма с дополнительными параметрами"
SHOW_AGE_CHECKBOX="Показывать подтверждение
возраста при регистрации"
SHOW_AGE_CHECKBOX_DESCRIPTION="Показывать / скрывать подтверждение возраста при регистрации"
AGE_CHECKBOX_DESCRIPTION_HIDE="Скрыть"
AGE_CHECKBOX_DESCRIPTION_SHOW="Показать"
Для отправки в суперглобальный массив переменных $_REQUEST методом POST значений полей формы необходимо, чтобы у каждого поля был уникальный атрибут name . Дополним поля флажков данным атрибутом в файле approval.php
Теперь перейдем собственно к созданию самого плагина.
Назовем его myregistration . Создадим для него папку plugins/user/myregistration , в ней файлы myregistration.php и myregistration.xml . Не забываем про заглушку index.html
myregistration.xml
myregistration.php
isSite()){ return true; } // загружаем файл языковой поддержки $this->loadLanguauge(); $result = true; // проверить, установлен ли флажок согласия с условиями обслуживания if (!JRequest::getBool("tos_agree")){ JError::raiseWarning(1000, JText::_("PLG_USER_MYREGISTRATION_TOS_AGREE_REQUIRED")); $result = false; } // проверить установку флажка на подтверждение достижения 18 лет if (!JRequest::getBool("old_enough")) { JError::raiseWarning(1000, JText::_("PLG_USER_MYREGISTRATION_OLD_ENOUGH_REQUIRED")); $result = false; } return $result; } }
Имя класса указываем в соответствии с принятыми обозначениями
plgUserMyRegistration
plg (подключаемый плагин), User (пользовательский тип подключаемого плагина), MyRegistration (название плагина). Этот класс расширяет класс JPlugin .
У данного класса имеется один метод, обозначаемый по имени обрабатываемого события - onUserBeforeSave() . Данное событие инициируется при попытке сохранить данные нового пользователя в админке или зарегистрировать его в пользовательской части.
JRequest::getBool() вызывается для получения элемента ввода tos_agree или old_enough из суперглобальной переменной $_REQUEST языка PHP. Возвращает false или true .
JError::raiseWarning() - вывод ошибки. В качестве аргументов указываются: код ошибки и текст ошибки. В данном случае код не используется и может быть любым, а текст выводим из файла языковой поддержки плагина.
Файлы языковой поддержки
Предпочтительно создавать их в папке с плагином.Русскоязычные должны быть в кодировке UTF-8 без BOM - иначе система их не подхватит.
Первые предназначены для всех переменных, которые используются на фронте и для вывода настроек самого плагина
plugins\user\myregistration\language\en-Gb\en-Gb.plg_user_myregistration.ini
plugins\user\myregistration\language\ru-RU\ru-RU.plg_user_myregistration.ini
Вторые используются для вывода названия плагина в менеджере плагинов и вывода сообщения после установки расширения
plugins\user\myregistration\language\en-Gb\en-Gb.plg_user_myregistration.sys.ini
plugins\user\myregistration\language\ru-RU\ru-RU.plg_user_myregistration.sys.ini
en-Gb.plg_user_myregistration.ini
PLG_USER_MYREGISTRATION_TOS_AGREE_REQUIRED="You must agree to the terms of service" PLG_USER_MYREGISTRATION_OLD_ENOUGH_REQUIRED="You must be at least 18 years old"
en-Gb.plg_user_myregistration.sys.ini
PLG_USER_MYREGISTRATION="User - My Registration" PLG_USER_MYREGISTRATION_XML_DESCRIPTION="Check that the Terms and Age boxes have been checked"
ru-RU.plg_user_myregistration.ini
PLG_USER_MYREGISTRATION_TOS_AGREE_REQUIRED="Вы должны согласиться с условиями обслуживания" PLG_USER_MYREGISTRATION_OLD_ENOUGH_REQUIRED="Вам должно быть не менее 18 лет"
ru-RU.plg_user_myregistration.sys.ini
PLG_USER_MYREGISTRATION="Юзер - Моя регистрация" PLG_USER_MYREGISTRATION_XML_DESCRIPTION="Проверка на согласие с условиями обслуживания и достижения пользователем возраста 18 лет"
Полностью автономная версия плагина.
Используется класс JForm для замещения регистрационной формы перед выводом на форму с допполями и проверки достоверности, что избавляет от необходимости иметь альтернативные пункт меню и шаблон вывода модуля.
Имя нового плагина myregistrationall. Состоит:
forms/form.xml
language/en-Gb/en-Gb.plg_user_myregistrationall.ini
language/en-Gb/en-Gb.plg_user_myregistrationall.sys.ini
language/ru-RU/ru-RU.plg_user_myregistrationall.ini
language/ru-RU/ru-RU.plg_user_myregistrationall.sys.ini
myregistrationall.php
myregistrationall.xml
Основной myregistrationall .xml файл плагина. В разделе конфигурации установлены поля для отображения в настройках плагина
form.xml
myregistrationall.php
getName()!="com_users.registration") { return; } // Загрузить файл языковой поддержки $this->loadLanguage(); // Загрузить xml-файл в форму регистрации пользователя - обратить внимаение - вокруг FILE идет ДВОЙНОЕ ПОДЧЕРКИВАНИЕ $form->loadFile(dirname(__FILE__)."/forms/form.xml"); // Проверка установки параметра показа чекбокса для проверки возраста в настройках плагина if (!$this->params->get("show_age_checkbox", "1")) { $form->removeField("old_enough"); // Если мы захотим сделать поле подтверждения возраста необязательным, достаточно будет добавть строку: // $form->setFieldAttribute("old_enough", "requried", "false"); } } }
en-Gb.plg_user_myregistrationall.ini
PLG_USER_MYREGISTRATIONALL_TERMS_OF_SERVICE="Added Fields for Terms of Service Agreement" PLG_USER_MYREGISTRATIONALL_AGREE="I agree to the terms" PLG_USER_MYREGISTRATIONALL_AGE="I am at least 18 years old" PLG_USER_MYREGISTRATIONALL_SHOW_AGE="Show Age Checkbox" PLG_USER_MYREGISTRATIONALL_SHOW_AGE_DESC="Whether to Hide or Show the Show Age Check box. If it is shown, it will be required."
ru-RU.plg_user_myregistrationall.ini
PLG_USER_MYREGISTRATIONALL_TERMS_OF_SERVICE="Согласие с правилами обслуживания" PLG_USER_MYREGISTRATIONALL_AGREE="Я согласен с условиями обслуживания" PLG_USER_MYREGISTRATIONALL_AGE="Мне уже есть 18 лет" PLG_USER_MYREGISTRATIONALL_SHOW_AGE="Подтверждение возраста" PLG_USER_MYREGISTRATIONALL_SHOW_AGE_DESC="Показывать или скрывать чекбокс для подтверждения возраста"
en-Gb.plg_user_myregistrationall.sys.ini
PLG_USER_MYREGISTRATIONALL="User - My Registration - stand-alone" PLG_USER_MYREGISTRATIONALL_XML_DESCRIPTION="Check that the Terms and Age boxes have been checked - stand-alone"
ru-RU.plg_user_myregistrationall.sys.ini
PLG_USER_MYREGISTRATIONALL="Юзер - Моя регистрация - автономка" PLG_USER_MYREGISTRATIONALL_XML_DESCRIPTION="Проверка на согласие с условиями обслуживания и достижения пользователем возраста 18 лет - автономка"
User Registration plugin provides you with an easy way to create frontend user registration form and login form. Drag and Drop fields make ordering and creating forms extremely easy. The plugin is lightweight, extendible, and can be used to create any type of registration form.
Beside registration form, the plugin also supports beautiful frontend profile account page for profile edit, password change, Log out and more. Users can visit their account page after registration and view the details they have filled and can make changes if necessary.
The registration forms are 100% mobile responsive and optimized to display on any devices.
User Registration can be easily extended with some premium addons.
Вязание относят к популярному процессу изготовления изделий, обычно это элементы одежды, но в последнее время стало также популярным вязать разнообразные аксессуары, украшения и бытовые предметы. Исторически подтверждено, что вязание уже было известно в древнее время. Первые найденные вязаные изделия датируются III в., которые были обнаружены во время раскопок в Перу. Также в IV-V вв. в коптских гробницах, что в Египте, были найдены вязаные вещи высокого качества, на основе этих данных предполагают, что техника вязания была известна задолго до этого.
В наше время вязание – это одно из любимейших занятий женщин, которое доступно абсолютно каждому. В основном на нашем портале представлены работы двух техник вязания – вязание крючком и вязание спицами. Вязание крючком отличается возможностью быстрого создания не только плотных и рельефных узоров, но и тонких, ажурных. Вязание спицами популярно тем, что вязание на спицах позволяет создавать как теплые вещи, так и тонкое ажурное кружево.
На портале «Наша пряжа» Вы можете изучить модели, узоры, схемы вязания крючком и спицами бесплатно. Также все материалы разделов – вязание крючком и спицами доступны для начинающих. Основные разделы портала – это «Вязание для женщин», «Вязание для мужчин», «Вязание для детей», «Вязание для дома», «Вязание аксессуаров» и «Вязание для животных». В каждом разделе есть свои рубрики вязания крючком и спицами. А к большинству статей прилагаются схемы вязания.
Также можете присылать нам свои работы по вязанию, и мы их обязательно опубликуем в разделе «Ваши работы», а самых талантливых авторов ждет сюрприз – публикация в разделе «Вяжу на заказ», где мы поместим условия вязания на заказ и Ваши контактные данные. Надеемся, вам понравится наш портал, и вы найдете для себя интересующую информацию о вязании крючком или спицами!
1
Как можно ограничить или отключить доступ к компоненту/пользователям /? View = регистрации? Кто-то попытался взломать веб-сайт клиента, перейдя непосредственно в domain.com/component/users/?view=registration и зарегистрировавшись как пользователь. Единственная причина, по которой это произошло, - это их адрес электронной почты, возвращенный, потому что их почтовый ящик был заполнен. На этом конкретном веб-сайте Joomla 2.5 нет модуля регистрации, отображаемого на экране. Кроме того,/administrator уже защищен паролем.htaccess.
Есть ли способ закрыть где-нибудь в Joomla, чтобы отключить пользователей от регистрации, так что компонент/пользователи /? View = регистрация не работает? Или должен ли компонент/users /? View = зарегистрироваться сам защищаться паролем с помощью.htaccess? Благодаря!
Сортировка:
Активность
2
Да, есть. В фоновом режиме откройте «Пользователи»> «Диспетчер пользователей». При загрузке нажмите кнопку «Параметры» в подменю. Первый вариант на вкладке «Компонент» - это радио, позволяющее или не разрешающее регистрацию пользователя.
Теперь, когда кто-то (или некоторый бот) пытается перейти непосредственно к регистрации пользователя, они автоматически перенаправляются на страницу специального журнала. Что, без учетной записи, в значительной степени бесполезно.
Вы также можете вставить 301 переадресацию в свой корневой.htaccess для любых URL-адресов и перенаправить их на домашнюю страницу.
Redirect 301 /index.php?option=com_users&view=registration http://www.mywebsite.com/
In Joomla, after successful registration, users by default are redirected to a login page (if account doesn"t need to be activated). From there (after logging in) users are redirected to a user profile page. This happens even if you have Login Redirection set to something else in Login Form Module .
To change this behaviour you can redirect users after registration to any other page on your website.
To do this you need to edit a core Joomla file. Be aware that your changes may be overwritten by a Joomla update. Always document changes you make to core Joomla files so you can quickly re-do them if required.
Open file:
components/com_users/controllers/registration.php
Scroll down to the very bottom. Starting line 162 or so you will have flowing code:
if ($return === "adminactivate" ) { $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _(, false ) ) ; } else if ($return === "useractivate" ) { $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _("index.php?option=com_users&view=registration&layout=complete" , false ) ) ; } else { $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _("index.php?option=com_users&view=login" , false ) ) ; }In this section you have 3 links starting index.php?
Replace links depending on type of registration you use with FULL URL of your redirection page and you are done.
For example, if user activation on my website is not required and I want to redirect users after registration to http://www.mywebsite.com/welcome-reg
the updated code will be:
Regardless to which page on your website you redirect, system message "Thank you for registering... " will be still displayed. If you don"t want this message, remove full line above your redirection URL. e.g. $this->setMessage(JText::_("COM_USERS_REGISTRATION_SAVE_SUCCESS"));
If you don"t require account activation (New User Account Activation set to None
) this is all you need to avoid User Profile page. However, if user has to activate account via email (Account Activation set to Self
) this may not be enough. Immediately after registration user will be redirected to a web page you provided in the code as expected. However, when user clicks on a link in the activation email, they will be taken to the previously mentioned login form and if they use it to login, they will get to the User Profile page. To prevent this you can disable User Profile page completely and instead redirect users to any page you like. Read this article to find out how.
Joomla 1.6
Joomla 1.7
Joomla 2.5