Ir para conteúdo

[TUTORIAL] Trocando Pagina de Registro inteira


Gean J.

Posts Recomendados

Nesse tutorial vou está ensinado a você a editar a pagina de registro por inteira, isso é bom caso você não tenha SMTP e usuários fiquem criando contas fakes só pra avacalhar.

 

Vai ficar assim no final.

 

4yiU6d1.png

 

 

 

Começando, vá em: 

 

 

 

 

 

 

Look & Feel  >  

Manage Skin Sets & Templates > SUA_SKIN > Registration Screen > RegisterForm 

 

Pesquise por

 

 

  • <div id='register_form'>
    

 

 

 

 

E abaixo delete até o ultimo </div>

<!--<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&module=global&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' />
{parse replacement="header_start"}
<h3 class='maintitle'>
   {$this->lang->words['ready_register']}
</h3>
{parse replacement="header_end"}
<div class='ipsBox removeDefault'>
   <div class='ipsBox_container ipsPad'>
      <div class='resize_form'>
         <if test="registerServices:|:IPSLib::loginMethod_enabled('facebook') || IPSLib::loginMethod_enabled('twitter')">
            <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::loginMethod_enabled('facebook')">
                        <li><a href="{parse url="app=core&module=global&section=login&serviceClick=facebook" base="public"}"><img src="{$this->settings['img_url']}/facebook_login.png" alt="" /></a></li>
                     </if>
                     <if test="twitterBox:|:IPSLib::loginMethod_enabled('twitter')">
                        <li><a href="{parse url="app=core&module=global&section=login&serviceClick=twitter" base="public"}"><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' tabindex='1' /><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']}' tabindex='2' /><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' tabindex='3' /><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' tabindex='4' /><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']}' tabindex='5' />
                           </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']}' tabindex='5' 
                              <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']}' tabindex='5' />
                           <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:| 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 lighter'>{$_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 lighter'>{$_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>
                  tabindex='0' />
                  <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>
                  tabindex='50' />
                  <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>
               <if test="privvy:|:$this->settings['priv_title']">
                  <li class='ipsPad_top ipsForm_center desc ipsType_smaller'>
                     <a rel="nofollow" href='{parse url="app=core&module=global&section=privacy" template="privacy" seotitle="false" base="public"}'>{$this->settings['priv_title']}</a>
                  </li>
               </if>
            </ul>
            <script type='text/javascript'>
               $('tou').hide();				
            </script>
         </fieldset>
      </div>
      <br />
      <fieldset class='ipsForm_submit'>
         <input type='submit' class='input_submit' id='register_submit' value='{$this->lang->words['register']}' tabindex='51' />
      </fieldset>
   </div>
</div>
{parse replacement="box_end"}
</form>
</div>
<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>

Apos isso vá até Look & Feel > Manage Skin Sets & Templates > SUA_SKIN > registerStepBar

 

E delete ela TODA

 

 

Apos isso só fazer cadastro no Dev do facebook e twitter e criar um sistema de login e colocar ai

 

Assim ficou o meu pra quem quiser um exemplo

{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>-->

<html>
	<head>
		<title></title>
	</head>
	<body>
		<h2 style="text-align: center;">
			<span style="color:#ffffff;"><span style="font-family:comic sans ms,cursive;"><span style="font-size:18px;">Para registrar-se escolha uma opção abaixo.</span></span></span></h2>
		<p style="text-align: center;">
			 </p>
		<p style="text-align: center;">
			<a href="http://forum.cybersvbr.com/index.php?app=core&module=global&section=login&serviceClick=facebook"><img src="http://i.imgur.com/RZoUzLM.png" /></a></p>
		<p style="text-align: center;">
			<a href="http://forum.cybersvbr.com/index.php?app=core&module=global&section=login&serviceClick=twitter"><img src="http://i.imgur.com/xxK7LUd.png" /></a></p>
		<p style="text-align: center;">
			 </p>
		<p style="text-align: center;">
			 </p>
		<p style="text-align: center;">
			 </p>
		<p style="text-align: center;">
			 </p>
		<p style="text-align: center;">
			 </p>
		<p style="text-align: center;">
			 </p>
	</body>
</html>


</div>

Para fazer o sistema de login facebook,twitter basta ver uns tutoriais

 

 
#Credito ~EU
Editado por rocho
Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...