Регистрация на MODx и форма входа, сниппеты Weblogin,WebSigup

 

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

Для начала мы создадим чанк для регистрации, т.е. шаблон который будет использоваться специальным сниппетом для регистрации пользователей. Потом создадим страницы для регистрации пользователей в Modx, и вызовем на нем сниппет для регистрации — WebSignup. Для того чтоб у нас работала форма входа создадим Чанк(Шаблон для сниппета) для нее, и вызовем сниппет для входа — WebLogin

Содержание урока:

1. Чанк для регистрации

2. Страница для регистрации с вызовом WebSignup

3. Чанк для формы входа

4. Вставка формы входа

1 Чанк для Регистрации


Создайте чанк SignUp.

Вставьте в него такое содержимое:

(Данный чанк — является русифицированной и модифицированной копией стандартного чанка из демо версии Modx)

  <!-- #declare:separator <hr> --> 
  <!-- login form section-->
  <form id="websignupfrm" method="post" name="websignupfrm" action="">
      <fieldset>
          <h3>Основные данные</h3>
          <p>Поля отмеченные * обязательны для заполнения </p>
  

<table> <tbody> <tr><td> <label for="su_username">Логин:*</td> <td> <input type="text" name="username" id="su_username" class="inputBox" size="20" maxlength="30" value="" /></label></td></tr> <tr><td> <label for="fullname">Полное имя:*</td> <td> <input type="text" name="fullname" id="fullname" class="inputBox" size="20" maxlength="100" value="" /></label></td></tr> <tr><td> <label for="email">Ваш E-mail:*</td> <td> <input type="text" name="email" id="email" class="inputBox" size="20" value="" /></label></td></tr> </tbody> </table> </fieldset> <fieldset> <h3>Пароль</h3> <label for="su_password">Пароль:* <input type="password" name="password" id="su_password" class="inputBox" size="20" /></label> <label for="confirmpassword">Повторите пароль:* <input type="password" name="confirmpassword" id="confirmpassword" class="inputBox" size="20" /></label> </fieldset> <fieldset> <h3>Место проживания</h3> <label for="country">Выберите страну:</label> <select size="1" name="country" id="country"> <option value="" selected="selected"> </option> <option value="220">Украина</option> <option value="176">Россия</option> </select> </fieldset> <fieldset> <h3>Защита от СПАМА</h3> <p>Наберите Текст/Цифры с картинке ниже:</p> <p><a href="[+action+]"><img align="top" src="manager/includes/veriword.php" width="148" height="60" alt="If you have trouble reading the code, click on the code itself to generate a new random code." style="border: 1px solid #039" /></a></p> <label>Ввод кода:* <input type="text" name="formcode" class="inputBox" size="20" /></label> </fieldset> <fieldset> <input type="submit" value="Регистрация" name="cmdwebsignup" /> </fieldset> </form>
<script language="javascript" type="text/javascript"> var id = ""; var f = document.websignupfrm; var i = parseInt(id); if (!isNaN(i)) f.country.options[i].selected = true; </script> <hr> <!-- notification section --> <p class="message">Регистрация успешно завершена.<br /> Ваш аккаунт был создан. Копия регистрационных данных была отослана на вашу почту.</p>

2 Страница для регистрации с вызовом WebSignup


 

Создайте страницу, запомнив ее ИД и вставьте вызов WebSignup

          [!WebSignup? &tpl=`SignUp` !]  
       

Параметры:

&tpl = Шаблон формы регистрации

3 Чанк для формы входа


Создайте чанк login

C таким содержимым:

(Данный чанк — является русифицированной и модифицированной копией стандартного чанка из демо версии Modx)

  <!-- #declare:separator <hr> --> 
  <!-- login form section-->
  <form method="post" name="loginfrm" action=""> 
      <input type="hidden" value="" name="rememberme" /> 
      <fieldset style=" border:0; " >
          <h3>Вход</h3>
          <label for="username">Логин: <input type="text" name="username" id="username" tabindex="1" onkeypress="return webLoginEnter(document.loginfrm.password);" value="" /></label>
       <label for="password">Пароль: <input type="password" name="password" id="password" tabindex="2" onkeypress="return webLoginEnter(document.loginfrm.cmdweblogin);" value="" /></label>
       <input type="checkbox" id="checkbox_1" name="checkbox_1" tabindex="3" size="1" value="" [+checkbox+] onclick="webLoginCheckRemember()" /><label for="checkbox_1" class="checkbox">Запомнить</label>
       <input type="submit" value="Войти" name="cmdweblogin" class="button" />
  <a href="#" onclick="webLoginShowForm(2);return false;" id="forgotpsswd">Забыли пароль?</a> | <a href="[~5~]">Регистрация на сайте</a>  <!-- Число 5 слева замените на ид страницы регистрации -->
  </fieldset>
  </form>
  <hr>
  <!-- log out hyperlink section -->
   
  <h4>Вы уже вошли</h4>
  Вы хотите <a href="[+action+]" class="button">выйти</a>?
  <hr>
  <!-- Password reminder form section -->
  <form name="loginreminder" method="post" action="">
      <fieldset>
          <h3>Это случается с каждым...</h3>
          <input type="hidden" name="txtpwdrem" value="0" />
          <label for="txtwebemail">Введите почту чтобы восстановить пароль: <input type="text" name="txtwebemail" id="txtwebemail" size="24" /></label>
          <label><br/>Чтоб выйти нажмите Cancel.</label>
       <input type="submit" value="Submit" name="cmdweblogin" class="button" /> <input type="reset" value="Cancel" name="cmdcancel" onclick="webLoginShowForm(1);" class="button" style="clear:none;display:inline" />
      </fieldset>
  </form>
  

4 Вставка формы входа


На странице или шаблоне где вам нужен вход вставьте такую строчку

  [!WebLogin? &tpl=`Login` &loginhomeid=`5`!]
  

Параметры:

&tpl = Шаблон формы входа

&loginhomeid = ид страницы, куда вы перейдете после входа, если никуда уберите параметр.

Вот и все на вашем сайте рабочая система регистрации/входа пользователей!

 
 

Комментарии (2 комментария) на "Регистрация на MODx и форма входа, сниппеты Weblogin,WebSigup"

  1. Sergey Smirnov:

    Подскажите, можно ли сделать ссылку, которая будет вести прямиком на страницу восстановления пароля?

  2. admin:

    Можно вот это оставьте в чанке:

    Забыли пароль?

Отправить комментарий