Inurl component users view registration безусловный. Вязание крючком и спицами – схемы и узоры вязания

  • 16.04.2024

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 Plugin in action:

Features And Options:

  • Simple, Clean and Beautiful WordPress Registration Forms
  • Drag and Drop Fields
  • Unlimited Registration Forms
  • Inbuilt Login Form
  • Frontend Profile account page
  • Multiple Column Design
  • Multiple Form template designs
  • Shortcode Support
  • Google reCaptcha Support (v2 and v3)
  • Email notifications
  • Email Customizers
  • Form Duplicate Option
  • Admin approval option for registration
  • Auto login option
  • Email confirmation to register
  • Enable/Disable Strong Password
  • Default User Role Selection Option
  • Support for profile image upload
  • Form Preview Option on backend
  • User data export in CSV
  • Import/Export registration form
  • Well Documented
  • Translation ready

Premium Addons

User Registration can be easily extended with some premium addons.

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?

  • First one () is executed after user registration if account has to be activated by an administrator
  • Second (index.php?option=com_users&view=registration&layout=complete ), if account has to be activated by user
  • Third (index.php?option=com_users&view=login ), if account activation is not required.

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:

// Redirect to the profile screen. if ($return === "adminactivate" ) { $this -> setMessage (JText:: _("COM_USERS_REGISTRATION_COMPLETE_VERIFY" ) ) ; $this -> setRedirect (JRoute:: _("index.php?option=com_users&view=registration&layout=complete" , false ) ) ; } else if ($return === "useractivate" ) { $this -> setMessage (JText:: _("COM_USERS_REGISTRATION_COMPLETE_ACTIVATE" ) ) ; $this -> setRedirect (JRoute:: _("index.php?option=com_users&view=registration&layout=complete" , false ) ) ; } else { $this -> setMessage (JText:: _("COM_USERS_REGISTRATION_SAVE_SUCCESS" ) ) ; $this -> setRedirect (JRoute:: _("http://www.mywebsite.com/welcome-reg" , false ) ) ; }

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

Вязание относят к популярному процессу изготовления изделий, обычно это элементы одежды, но в последнее время стало также популярным вязать разнообразные аксессуары, украшения и бытовые предметы. Исторически подтверждено, что вязание уже было известно в древнее время. Первые найденные вязаные изделия датируются III в., которые были обнаружены во время раскопок в Перу. Также в IV-V вв. в коптских гробницах, что в Египте, были найдены вязаные вещи высокого качества, на основе этих данных предполагают, что техника вязания была известна задолго до этого.

В наше время вязание – это одно из любимейших занятий женщин, которое доступно абсолютно каждому. В основном на нашем портале представлены работы двух техник вязания – вязание крючком и вязание спицами. Вязание крючком отличается возможностью быстрого создания не только плотных и рельефных узоров, но и тонких, ажурных. Вязание спицами популярно тем, что вязание на спицах позволяет создавать как теплые вещи, так и тонкое ажурное кружево.

Портал о вязании «Наша пряжа»

На портале «Наша пряжа» Вы можете изучить модели, узоры, схемы вязания крючком и спицами бесплатно. Также все материалы разделов – вязание крючком и спицами доступны для начинающих. Основные разделы портала – это «Вязание для женщин», «Вязание для мужчин», «Вязание для детей», «Вязание для дома», «Вязание аксессуаров» и «Вязание для животных». В каждом разделе есть свои рубрики вязания крючком и спицами. А к большинству статей прилагаются схемы вязания.

Также можете присылать нам свои работы по вязанию, и мы их обязательно опубликуем в разделе «Ваши работы», а самых талантливых авторов ждет сюрприз – публикация в разделе «Вяжу на заказ», где мы поместим условия вязания на заказ и Ваши контактные данные. Надеемся, вам понравится наш портал, и вы найдете для себя интересующую информацию о вязании крючком или спицами!

Ранее были внесены изменения в файлы.

копируем из

components/com_users/views/registration/tmpl/ в
templates/protostar/html/com_users/registration/ файлы

default.php и default.xml и меняем им названия, к примеру на approval.php и approval.xml

approval.php

// здесь большое количество кода // .....

params->get("show_age_checkbox")):?>

" title="">

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

params->get("show_age_checkbox")):?>

Теперь перейдем собственно к созданию самого плагина.

Назовем его myregistration . Создадим для него папку plugins/user/myregistration , в ней файлы myregistration.php и myregistration.xml . Не забываем про заглушку index.html

myregistration.xml

plg_user_myregistration March 2012 admin//dog//joomla.org www.joomla.org 2.5.0 PLG_USER_MYREGISTRATION_XML_DESCRIPTION myregistration.php index.html language

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 файл плагина. В разделе конфигурации установлены поля для отображения в настройках плагина

plg_user_myregistrationall Mark Dexter and Louis Landry feat Taatshi March 2012 (C) 2012 Mark Dexter and Louis Landry GNU General Public License version 2 or later; See License.txt admin//dog//joomla.org www.joomla.org 2.5.0 PLG_USER_MYREGISTRATIONALL_XML_DESCRIPTION myregistrationall.php index.html language forms

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 лет - автономка"

Срабатывает сразу после того, как новый пользователь был зарегистрирован на сайте. После того, как данные пользователя были добавлены в базу данных.

Хук получает в качестве параметра ID пользователя.

На момент срабатывания этого хука, все метаданные уже добавлены в БД. Пароль уже зашифрован.

Этот хук можно использовать для добавления дополнительных метаданных переданных в форме регистрации нового пользователя.

Для добавления или обновления метаданных пользователя, также можно использовать хук insert_user_meta . См. пример ниже или код функции wp_insert_user()

Использование

add_action("user_register", "____action_function_name"); function ____action_function_name($user_id) { // Действие... } $user_id(число) ID зарегистрированного пользователя.

Примеры

#1 Добавим дополнительные данные пользователя при регистрации

Этот пример показывает как добавить значение поля user_sex , которое передается в $_POST данных из формы регистрации.

Имейте ввиду, что проверка обновляемых данных не должна производиться в момент этого хука - уже слишком поздно, пользователь уже добавлен! Проверку данных нужно делать во время хука registration_errors , хук user_register не сработает если проверка не будет пройдена...

// предварительная проверка поля add_filter("registration_errors", "my_validate_user_data"); function my_validate_user_data($errors){ if(empty($_POST["user_sex"])) $errors->add("empty_user_sex", "Пол обязательно должен быть указан!"); elseif(! in_array($_POST["user_sex"], array("male","female"))) $errors->add("invalid_user_sex", "Пол указан неверно!"); return $errors; } // обновление метаданных пользователя add_action("user_register", "my_user_registration"); function my_user_registration($user_id) { // $_POST["user_sex"] проверена заранее... update_user_meta($user_id, "user_sex", $_POST["user_sex"]); }

#2 Обновление метаданных пользователя при регистрации

Это аналогичный первому пример с использованием хука insert_user_meta для добавления метаданных пользователя при регистрации. Этот вариант предпочтительнее, потому что удобнее...

Этот пример полностью заменяет хук user_register из предыдущего примера. Проверку на ошибки берем из пред. примера.

// $meta = apply_filters("insert_user_meta", $meta, $user, $update); add_filter("insert_user_meta", "my_user_registration_meta", 10, 3); function my_user_registration_meta($meta, $user, $update) { // выходим если это не регистрация юзера if($update) return $meta; $meta["user_sex"] = $_POST["user_sex"]; // $_POST["user_sex"] проверена заранее... return $meta; }

Список изменений

С версии 1.5.0 Введена.

Где вызывается хук

Где используется хук (в ядре WP)

wp-admin/includes/admin-filters.php 92 add_action("user_register", array("WP_Internal_Pointers", "dismiss_pointers_for_new_users"));