Перейти к содержанию
  • Восстанавливаем регистрационную форму


    Doogle

    У многих после перехода на версию 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>


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


    Обратная связь

    Рекомендуемые комментарии

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



    Присоединяйтесь к обсуждению

    Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
    Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

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

    ×   Вставлено с форматированием.   Вставить как обычный текст

      Разрешено использовать не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...