Jump to content

Восстанавливаем регистрационную форму

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

Заходим в:
Админцентр > Внешний вид > Управление стилями и шаблонами > Управление шаблонами > Управление шаблонами и CSS > Регистрация > registerForm

Заменяем весь код на этот:

{parse js_module="register"}
<script type='text/javascript'>
//<![CDATA[
ipb.register.inSection = "mainform";
ipb.register.nameMaxLength = "{$this->settings['max_user_name_length']}";
ipb.register.allowedChars = "{$this->settings['username_characters']}";
ipb.templates['accept'] = " <span id='[id]_msg' class='reg_msg reg_accept' style='display: none'><img src='{$this->settings['img_url']}/accept.png' alt='' /> [msg]</span>";
ipb.templates['error'] = " <span id='[id]_msg' class='reg_msg reg_error' style='display: none'><img src='{$this->settings['img_url']}/exclamation.png' alt='' /> [msg]</span>";
//]]>
</script>
<div id='register_form'>
<!--<h1 class='ipsType_pagetitle'>{$this->lang->words['ready_register']}</h1>-->
{parse template="registerStepBar" group="register" params="array('register_form' => 'ipsSteps_active', 'confirmation' => '')"}
<if test="registerHasErrors:|:is_array( $general_errors ) && count( $general_errors )">
<div class='message error'>
  {$this->lang->words['following_errors']}
  <ul>
   <foreach loop="general_errors:$general_errors as $r">
    <li>{$r}</li>
   </foreach>
  </ul>
</div>
<br />
</if>
<form action="{parse url="app=core&amp;module=global&amp;section=register" base="public"}" method="post" name="REG" id='register'>
  <input type="hidden" name="termsread" value="1" />
  <input type="hidden" name="agree_to_terms" value="1" />
  <input type="hidden" name="do" value="process_form" />
  <input type="hidden" name="coppa_user" value="{$data['coppa_user']}" />
  <input type='hidden' name='nexus_pass' value='1' />
  <input type='hidden' name='time_offset' id='auto_time_offset' value='0' />
  <input type='hidden' name='dst' id='auto_dst' value='0' />

  <h1 class='maintitle'>
   {$this->lang->words['ready_register']}
  </h1>
  <div class='ipsBox'>

   <div class='ipsBox_container ipsPad'>

    <if test="registerServices:|:IPSLib::fbc_enabled() || IPSLib::twitter_enabled() === true">
         <div class='ipsBox_container ipsBox_notice ipsForm ipsForm_horizontal' id='external_services'>
          <strong class='ipsField_title' id='save_time'>{$this->lang->words['want_to_save_time']}</strong>
          <div class='ipsField_content'>
           <ul class='ipsList_inline'>
            <if test="registerUsingFb:|:IPSLib::fbc_enabled()">
                 <li><a href="{$this->settings['_original_base_url']}/interface/facebook/index.php?_reg=1"><img src="{$this->settings['img_url']}/facebook_login.png" alt="" /></a></li>
            </if>
            <if test="twitterBox:|:IPSLib::twitter_enabled() === true">
                 <li><a href="{$this->settings['_original_base_url']}/interface/twitter/index.php?_reg=1"><img src="{$this->settings['img_url']}/twitter_login.png" alt="" /></a></li>
            </if>
           </ul>
          </div>
         </div>
    </if>

    <if test="registerHasInlineErrors:|:is_array( $inline_errors ) && ( $inline_errors['username'] || $inline_errors['dname'] || $inline_errors['email'] || $inline_errors['password'] )">
         <p class='message error'>{$this->lang->words['reg_errors_found']}</p>
         <br />
    </if>
    <fieldset>
         <ul class='ipsForm ipsForm_horizontal'>
          <li class='ipsField'>
           <p class='ipsField_content'>
            <span class='ipsForm_required ipsType_smaller'>* {$this->lang->words['required_field']}</span>
           </p>
          </li>
          <li class='ipsField clear <if test="ieDnameClass:|:$inline_errors['dname']">error</if>'>
           <label for='display_name' class='ipsField_title'>{$this->lang->words['reg_choose_dname']} <span class='ipsForm_required'>*</span></label>
           <p class='ipsField_content'>
            <input type='text' class='input_text' id='display_name' size='45' maxlength='{$this->settings['max_user_name_length']}' value='{$this->request['members_display_name']}' name='members_display_name' /><br />
            <span class='desc primary lighter'>
                 <if test="ieDname:|:$inline_errors['dname']"><span class='error'>{$inline_errors['dname']}<br /></span></if>
                 {parse expression="sprintf( $this->lang->words['dname_desc'], $this->settings['max_user_name_length'])"}
            </span>
           </p>
          </li>
          <li class='ipsField clear <if test="ieEmailClass:|:$inline_errors['email']">error</if>'>
           <label for='email_1' class='ipsField_title'>{$this->lang->words['reg_enter_email']} <span class='ipsForm_required'>*</span></label>
           <p class='ipsField_content'>
            <input type='text' id='email_1' class='input_text email' size='45' maxlength='150' name='EmailAddress' value='{$this->request['EmailAddress']}' /><br />
            <if test="ieEmail:|:$inline_errors['email']"><span class='desc'><span class='error'>{$inline_errors['email']}</span></span></if>
           </p>
          </li>
          <li class='ipsField clear <if test="iePasswordClass:|:$inline_errors['password']">error</if>'>
           <label for='password_1' class='ipsField_title'>{$this->lang->words['reg_choose_password']} <span class='ipsForm_required'>*</span></label>
           <p class='ipsField_content'>
            <input type='password' id='password_1' class='input_text password' size='45' maxlength='32' value='{$this->request['PassWord']}' name='PassWord' /><br />
            <span class='desc lighter'><if test="iePassword:|:$inline_errors['password']"><span class='error'>{$inline_errors['password']}<br /></span></if>{$this->lang->words['reg_choose_password_desc']}</span>
           </p>
          </li>
          <li class='ipsField clear'>
           <label for='password_2' class='ipsField_title'>{$this->lang->words['reg_reenter_password']} <span class='ipsForm_required'>*</span></label>
           <p class='ipsField_content'>
            <input type='password' id='password_2' class='input_text password' size='45' maxlength='32' value='{$this->request['PassWord_Check']}' name='PassWord_Check' /><br />
           </p>
          </li>
         </ul>
    </fieldset>
    <if test="hasNexusFields:|:!empty( $nexusFields )">
         <script type='text/javascript'>
          var _countriesWithStates = [];
          <foreach loop="statesJs:$nexusStates as $k => $v">
           _countriesWithStates["{$k}"] = 1;
          </foreach>
         </script>
         <hr />
         <fieldset>
          <ul class='ipsForm ipsForm_horizontal'>
           <foreach loop="fields:$nexusFields as $f">
            <if test="isAddressOrPhone:|:in_array( $f['f_column'], array( 'cm_address_1', 'cm_phone' ) )">
                 <br />
            </if>
            <if test="isText:|:$f['f_type'] == 'text'">
                 <li class='ipsField clear'>
                  <label for='{$f['f_column']}' class='ipsField_title'><if test="isAddress1:|:$f['f_column'] == 'cm_address_1'">{$this->lang->words['cm_address']}<else /><if test="isAddress2:|:$f['f_column'] == 'cm_address_2'"> <else />{$f['f_name']}</if></if> <if test="textRequired:|:$f['f_reg_require']"><span class='ipsForm_required'>*</span></if></label>
                  <p class='ipsField_content'>
                   <input type='text' class='input_text' id='{$f['f_column']}' size='25' maxlength='255' value='{$this->request[ $f['f_column'] ]}' name='{$f['f_column']}' />
                  </p>
                  <if test="textErrorMessage:|:$f['f_reg_require'] and $this->request['do'] == 'process_form' and !$this->request[ $f['f_column'] ]">
                   <span class='error'>{$this->lang->words['err_complete_form']}</span>
                  </if>
                 </li>
            </if>
            <if test="isDropdown:|:$f['f_type'] == 'dropdown'">
                 <li class='ipsField clear'>
                  <label for='{$f['f_column']}' class='ipsField_title'>{$f['f_name']} <if test="dropdownRequired:|:$f['f_reg_require']"><span class='ipsForm_required'>*</span></if></label>
                  <div class='ipsField_content'>
                   <select name='{$f['f_column']}' id='{$f['f_column']}' <if test="isCountry:|:$f['f_column'] == 'cm_country'">onchange='states()'</if>>
                    <foreach loop="options:explode( "n", $f['f_extra'] ) as $k => $v">
                         {parse variable="selected" default="" oncondition="$k == $this->request[ $f['f_column'] ] or $v == $this->request[ $f['f_column'] ]" value=" selected='selected'"}
                         <option value='<if test="isCountrySelect:|:$f['f_column'] == 'cm_country'">{$v}<else />{$k}</if>'{parse variable="selected"}><if test="isCountryWords:|:$f['f_column'] == 'cm_country'">{$this->lang->words['nc_'.$v]}<else />{$v}</if></option>
                    </foreach>
                   </select>
                  </div>
                  <if test="dropdownErrorMessage:|:$f['f_reg_require'] and $this->request['do'] == 'process_form' and !$this->request[ $f['f_column'] ]">
                   <span class='error'>{$this->lang->words['err_complete_form']}</span>
                  </if>
                 </li>
            </if>
            <if test="isSpecial:|:$f['f_type'] == 'special'">
                 <li class='ipsField clear'>
                  <label for='cm_state' class='ipsField_title'>{$this->lang->words['cm_state']} <if test="specialRequired:|:$f['f_reg_require']"><span class='ipsForm_required'>*</span></if></label>
                  <div class='ipsField_content'>
                   <input type='text' class='input_text' id='text-states' size='25' name='cm_state' value='{$this->request['cm_state']}' />
                   <foreach loop="statesCountries:$nexusStates as $country => $_states">
                    <select name='_cm_state' id='{$country}-states' class='input_select' style='display:none'>
                         <foreach loop="states:$_states as $s">
                          {parse variable="selected" default="" oncondition="$s[0] == $this->request['cm_state']" value=" selected='selected'"}
                          <option value='{$s[0]}'{parse variable="selected"}>{$s[1]}</option>
                         </foreach>
                    </select>
                   </foreach>
                  </div>
                  <if test="specialErrorMessage:|:$f['f_reg_require'] and $this->request['do'] == 'process_form' and !$this->request[ $f['f_column'] ]">
                   <span class='error'>{$this->lang->words['err_complete_form']}</span>
                  </if>
                 </li>
            </if>
           </foreach>
          </ul>
         </fieldset>
         <script type='text/javascript'>
          function states()
          {
           var c = $('cm_country').value;
           if ( c in _countriesWithStates )
           {
            $( _display ).style.display = 'none';
            $( _display ).name = '_cm_state';

            $( c + '-states' ).style.display = '';
            $( c + '-states' ).name = 'cm_state';

            _display = c + '-states';
           }
           else
           {
            $( _display ).style.display = 'none';
            $( _display ).name = '_cm_state';

            $( 'text-states' ).style.display = '';
            $( 'text-states' ).name = 'cm_state';

            _display = 'text-states';
           }
          }

          var _display = 'text-states';
          states();
         </script>
    </if>  
    <if test="hasCfields:|<img src='__ipbmafia.ru/public/style_emoticons/<#EMO_DIR#>/7.gif' class='bbc_emoticon' alt=':)' /> is_array( $custom_fields['required'] ) && count( $custom_fields['required'] ) ) || ( is_array( $custom_fields['optional'] ) && count( $custom_fields['optional'] ) )">
    <hr />
         <fieldset>
          <ul class='ipsForm ipsForm_horizontal'>
          <if test="reqCfields:|:is_array( $custom_fields['required'] ) && count( $custom_fields['required'] )">
           <foreach loop="custom_required:$custom_fields['required'] as $_field">
            <li class='ipsField clear ipsField_{$_field['type']}'>
                 <label for='cprofile_{$_field['id']}' class='ipsField_title'>{$_field['name']} <span class='ipsForm_required'>*</span></label>
                 <div class='ipsField_content'>
                  {$_field['field']}
                  <if test="reqCfieldDescSpan:|:$_field['desc'] != ''"><br /><span class='desc'>{$_field['desc']}</span></if>
                 </div>
            </li>
           </foreach>
          </if>

          <if test="optCfields:|:is_array( $custom_fields['optional'] ) && count( $custom_fields['optional'] )">
           <foreach loop="custom_optional:$custom_fields['optional'] as $_field">
            <li class='ipsField clear ipsField_{$_field['type']}'>
                 <label for='cprofile_{$_field['id']}' class='ipsField_title'>{$_field['name']}</label>
                 <div class='ipsField_content'>
                  {$_field['field']}
                  <if test="optCfieldDescSpan:|:$_field['desc'] != ''"><br /><span class='desc'>{$_field['desc']}</span></if>
                 </div>
            </li>
           </foreach>
          </if>
         </fieldset>  
    </if>
    <hr />
    {$data['qandaHTML']}
    {$data['captchaHTML']}
    <hr />
    <fieldset>
         <ul class='ipsForm ipsForm_horizontal'>
          <li class='ipsField clear ipsField_checkbox'>
           <input type="checkbox" name="allow_admin_mail" id="allow_admin_mail" value="1" class="input_check" <if test="defaultAAE:|:$this->request['allow_admin_mail'] || !isset( $this->request['allow_admin_mail'] )">checked='checked'</if> />
           <p class='ipsField_content'>
            <label for='allow_admin_mail'>{$this->lang->words['receive_admin_emails']}</label>
           </p>
          </li>
          <li class='ipsField clear ipsField_checkbox'>
           <input type='checkbox' name='agree_tos' id='agree_tos' value='1' class='input_check' <if test="checkedTOS:|:$this->request['agree_tos']">checked="checked"</if> />
           <p class='ipsField_content'>
            <label for='agree_tos' <if test="ieDnameClass:|:$inline_errors['dname']">error</if>>
                 <strong>{$this->lang->words['agree_to_tos']} <a href='#' id='tou_link'>{$this->lang->words['terms_of_use']}</a></strong>
                 <if test="ieTOS:|:$inline_errors['tos']"><br /><span class='error'>{$inline_errors['tos']}</span></if>
            </label>
            <textarea id='tou' class='input_text' style='width: 350px; height: 100px; display: block;'>
                 {$this->settings['_termsAndConditions']}
            </textarea>
           </p>
          </li>
         </ul>
         <script type='text/javascript'>
          $('tou').hide();  
         </script>
    </fieldset>
    <br />
    <fieldset>
         <input type='submit' class='ipsButton' id='register_submit' value='{$this->lang->words['register']}' />
    </fieldset>
   </div>
  </div>
</form>
<script type='text/javascript'>
  ipb.templates['registration_terms'] = new Template("<h3>{$this->lang->words['reg_terms_popup_title']}</h3><div class='ipsPad' id='tou_popup'>#{content}</div>");
</script>
{parse template="registerCoppaStart" group="register" params=""}
</div>


Готово.  Регистрационная   форма   восстановлена .

User Feedback

Recommended Comments

Комментариев пока нет

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Добавить комментарий...