2017-05-30 57 views
1

我目前創建2個完全不同的登錄模板/帳戶創建。我的問題是,當我在我的新模板上提交創建一個帳戶時,它會默認加載模板表單。2個不同的帳戶創建表格

這裏是我的代碼:

我使用的模板authentification.tpl和這一個。

我的新模板(authentication_bde.tpl)

{capture name=path} 
    {if !isset($email_create)}{l s='Authentication BDE'}{else} 
     <a href="{$link->getPageLink('authentication&bde=1', true)|escape:'html':'UTF-8'}" rel="nofollow" 
      title="{l s='Authentication BDE'}">{l s='Authentication BDE'}</a> 
     <span class="navigation-pipe">{$navigationPipe}</span>{l s='Create your account'} 
    {/if} 
{/capture} 

{assign var='stateExist' value=false} 
{assign var="postCodeExist" value=false} 
{assign var="dniExist" value=false} 
{if !isset($email_create)} 
    <!--{if isset($authentification_error)} 
    <div class="alert alert-danger"> 
     {if {$authentification_error|@count} == 1} 
      <p>{l s='There\'s at least one error'} :</p> 
      {else} 
      <p>{l s='There are %s errors' sprintf=[$account_error|@count]} :</p> 
     {/if} 
     <ol> 
      {foreach from=$authentification_error item=v} 
       <li>{$v}</li> 
      {/foreach} 
     </ol> 
    </div> 
    {/if}--> 

    <div class="row"> 
     {include file="$tpl_dir./errors.tpl"} 
     <div class="col-xs-6 col-md-6"> 
      <h1 class="page-heading" id="connect_account_bde">{*{if !isset($email_create)}*}{l s='Connexion'}</h1> 
      <form action="{$link->getPageLink('authentication&bde=1', true)|escape:'html':'UTF-8'}" method="post" 
        id="login_form" class="box"> 
       <div class="form_content clearfix"> 
        <div class="form-group"> 
         <label for="email">{l s='Entrez votre email :'}</label> 
         <input class="is_required validate account_input form-control" data-validate="isEmail" 
           type="email" id="email" name="email" placeholder="Ex: [email protected]" 
           value="{if isset($smarty.post.email)}{$smarty.post.email|stripslashes}{/if}"/> 
        </div> 
        <div class="form-group"> 
         <label for="passwd">{l s='Votre mot de passe :'}</label> 
         <input class="is_required validate account_input form-control" type="password" 
           data-validate="isPasswd" id="passwd" name="passwd" value="" placeholder="*******"/> 
        </div> 
        <p class="lost_password form-group"><a 
           href="{$link->getPageLink('password')|escape:'html':'UTF-8'}" 
           title="{l s='Recover your forgotten password'}" 
           rel="nofollow">{l s='Mot de passe oublié ?'}</a></p> 
        <p class="submit"> 
         {if isset($back)}<input type="hidden" class="hidden" name="back" 
               value="{$back|escape:'html':'UTF-8'}" />{/if} 
         <button type="submit" id="SubmitLogin" name="SubmitLogin" 
           class="button btn btn-default button-medium"> 
          <span> 
           {l s='valider'} 
          </span> 
         </button> 
        </p> 
       </div> 
      </form> 
      {if isset($HOOK_CREATE_ACCOUNT_TOP) && $HOOK_CREATE_ACCOUNT_TOP} 
       {$HOOK_CREATE_ACCOUNT_TOP} 
      {/if} 
      <h1 class="page-heading" 
       id="create_account_bde">{*{if !isset($email_create)}*}{l s='créer un compte'}</h1> 
      <form action="{$link->getPageLink('authentication&bde=1', true)|escape:'html':'UTF-8'}" method="post" 
        id="create-account_form_bde" class="box"> 
       <div class="form_content clearfix"> 
        <div class="alert alert-danger" id="create_account_error" style="display:none"></div> 
        <div class="form-group"> 
         <label for="email_create">{l s='Entrez votre email :'}</label> 
         <input type="email" class="is_required validate account_input form-control" 
           data-validate="isEmail" id="email_create" name="email_create" 
           value="{if isset($smarty.post.email_create)}{$smarty.post.email_create|stripslashes}{/if}"/> 
        </div> 
        <div class="submit"> 
         {if isset($back)}<input type="hidden" class="hidden" name="back" 
               value="{$back|escape:'html':'UTF-8'}" />{/if} 
         <button class="btn btn-default button button-medium exclusive" type="submit" 
           id="SubmitCreate" name="SubmitCreate"> 
          <span> 
           {l s='valider'} 
          </span> 
         </button> 
         <input type="hidden" class="hidden" name="SubmitCreate" value="{l s='Create an account'}"/> 
        </div> 
       </div> 
      </form> 
     </div> 
     <div class="col-xs-6 col-md-6"> 
      {hook h=rightColumnConnect} 
     </div> 
    </div> 
{else} 
    <!--{if isset($account_error)} 
    <div class="error"> 
     {if {$account_error|@count} == 1} 
      <p>{l s='There\'s at least one error'} :</p> 
      {else} 
      <p>{l s='There are %s errors' sprintf=[$account_error|@count]} :</p> 
     {/if} 
     <ol> 
      {foreach from=$account_error item=v} 
       <li>{$v}</li> 
      {/foreach} 
     </ol> 
    </div> 
    {/if}--> 
    {if $page_name == 'authentification_bde'} 
    <form action="{$link->getPageLink('authentication&bde=1', true)|escape:'html':'UTF-8'}" method="post" 
      id="account-creation_form_bde" class="form-horizontal std box"> 

     <h3 class="custom_title bottom-indent text-left">{l s='informations personnelles'}</h3> 
     <p class="required"><sup>*</sup>{l s='Required field'}</p> 
     <div class="account_creation_bde"> 
      <fieldset class="col-lg-offset-1"> 
       <div class="form-group radio_new_customer"> 
        <label class="col-sm-4 text-right">{l s='Civilité'}</label> 
        {foreach from=$genders key=k item=gender} 
         <label for="id_gender{$gender->id}" class="top"> 
          <input type="radio" name="id_gender" id="id_gender{$gender->id}" value="{$gender->id}" 
            {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id}checked="checked"{/if} /> 
          {$gender->name} 
         </label> 
        {/foreach} 
       </div> 
       <div class="required form-group"> 
        <label class="col-sm-4 text-right" for="customer_firstname">{l s='First name'}<sup>*</sup> :</label> 
        <input onkeyup="$('#firstname').val(this.value);" type="text" 
          class="col-sm-8 is_required validate form-control" 
          data-validate="isName" id="customer_firstname" name="customer_firstname" 
          value="{if isset($smarty.post.customer_firstname)}{$smarty.post.customer_firstname}{/if}"/> 
       </div> 
       <div class="required form-group"> 
        <label class="col-sm-4 text-right" for="customer_lastname">{l s='Last name'}<sup>*</sup> :</label> 
        <input onkeyup="$('#lastname').val(this.value);" type="text" 
          class="col-sm-8 is_required validate form-control" 
          data-validate="isName" id="customer_lastname" name="customer_lastname" 
          value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname}{/if}"/> 
       </div> 
       <div class="required form-group"> 
        <label class="col-sm-4 text-right" for="email">{l s='Email'}<sup>*</sup> :</label> 
        <input type="email" class="col-sm-8 is_required validate form-control" data-validate="isEmail" 
          id="email" 
          name="email" value="{if isset($smarty.post.email)}{$smarty.post.email}{/if}"/> 
       </div> 
       <div class="required password form-group"> 
        <label class="col-sm-4 text-right" for="passwd">{l s='Password'}<sup>*</sup> :</label> 
        <input type="password" class="col-sm-8 is_required validate form-control" data-validate="isPasswd" 
          name="passwd" 
          id="passwd" placeholder="5 caractères minimum."/> 
       </div> 
       <div class="required password form-group"> 
        <label class="col-sm-4 text-right" for="">{l s='Nom de votre établissement'}</label> 
        <input type="text" class="form-control col-sm-8" id="company" name="company" 
          value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}"/> 
       </div> 
       {*{if isset($optin) && $optin} 
        <div class="checkbox"> 
         <input type="checkbox" name="optin" id="optin" 
           value="1" {if isset($smarty.post.optin) AND $smarty.post.optin == 1} checked="checked"{/if} /> 
         <label for="optin">{l s='Receive special offers from our partners!'}</label> 
         {if array_key_exists('optin', $field_required)} 
          <sup> *</sup> 
         {/if} 
        </div> 
       {/if}*} 
      </fieldset> 
     </div> 
     {if $b2b_enable} 
      <div class="account_creation_bde"> 
       <h3 class="page-subheading">{l s='Your company information'}</h3> 
       <p class="form-group"> 
        <label for="">{l s='Company'}</label> 
        <input type="text" class="form-control" id="company" name="company" 
          value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}"/> 
       </p> 
       <p class="form-group"> 
        <label for="siret">{l s='SIRET'}</label> 
        <input type="text" class="form-control" id="siret" name="siret" 
          value="{if isset($smarty.post.siret)}{$smarty.post.siret}{/if}"/> 
       </p> 
       <p class="form-group"> 
        <label for="ape">{l s='APE'}</label> 
        <input type="text" class="form-control" id="ape" name="ape" 
          value="{if isset($smarty.post.ape)}{$smarty.post.ape}{/if}"/> 
       </p> 
       <p class="form-group"> 
        <label for="website">{l s='Website'}</label> 
        <input type="text" class="form-control" id="website" name="website" 
          value="{if isset($smarty.post.website)}{$smarty.post.website}{/if}"/> 
       </p> 
      </div> 
     {/if} 
     {if isset($PS_REGISTRATION_PROCESS_TYPE) && $PS_REGISTRATION_PROCESS_TYPE} 
      <div class="account_creation_bde"> 
       <h3 class="page-subheading">{l s='Your address'}</h3> 
       {foreach from=$dlv_all_fields item=field_name} 
        {if $field_name eq "company"} 
         {if !$b2b_enable} 
          <p class="form-group"> 
           <label for="company">{l s='Company'}{if in_array($field_name, $required_fields)} 
             <sup>*</sup> 
            {/if}</label> 
           <input type="text" class="form-control" id="company" name="company" 
             value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}"/> 
          </p> 
         {/if} 
        {elseif $field_name eq "vat_number"} 
         <div id="vat_number" style="display:none;"> 
          <p class="form-group"> 
           <label for="vat_number">{l s='VAT number'}{if in_array($field_name, $required_fields)} 
             <sup>*</sup> 
            {/if}</label> 
           <input type="text" class="form-control" id="vat_number" name="vat_number" 
             value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}"/> 
          </p> 
         </div> 
        {elseif $field_name eq "firstname"} 
         <p class="required form-group"> 
          <label for="firstname">{l s='First name'} <sup>*</sup></label> 
          <input type="text" class="form-control" id="firstname" name="firstname" 
            value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}"/> 
         </p> 
        {elseif $field_name eq "lastname"} 
         <p class="required form-group"> 
          <label for="lastname">{l s='Last name'} <sup>*</sup></label> 
          <input type="text" class="form-control" id="lastname" name="lastname" 
            value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}"/> 
         </p> 
        {elseif $field_name eq "address1"} 
         <p class="required form-group"> 
          <label for="address1">{l s='Address'} <sup>*</sup></label> 
          <input type="text" class="form-control" name="address1" id="address1" 
            value="{if isset($smarty.post.address1)}{$smarty.post.address1}{/if}"/> 
          <span class="inline-infos">{l s='Street address, P.O. Box, Company name, etc.'}</span> 
         </p> 
        {elseif $field_name eq "address2"} 
         <p class="form-group is_customer_param"> 
          <label for="address2">{l s='Address (Line 2)'}{if in_array($field_name, $required_fields)} 
            <sup>*</sup> 
           {/if}</label> 
          <input type="text" class="form-control" name="address2" id="address2" 
            value="{if isset($smarty.post.address2)}{$smarty.post.address2}{/if}"/> 
          <span class="inline-infos">{l s='Apartment, suite, unit, building, floor, etc...'}</span> 
         </p> 
        {elseif $field_name eq "postcode"} 
         {assign var='postCodeExist' value=true} 
         <p class="required postcode form-group"> 
          <label for="postcode">{l s='Zip/Postal Code'} <sup>*</sup></label> 
          <input type="text" class="validate form-control" name="postcode" id="postcode" 
            data-validate="isPostCode" 
            value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}"/> 
         </p> 
        {elseif $field_name eq "city"} 
         <p class="required form-group"> 
          <label for="city">{l s='City'} <sup>*</sup></label> 
          <input type="text" class="form-control" name="city" id="city" 
            value="{if isset($smarty.post.city)}{$smarty.post.city}{/if}"/> 
         </p> 
         <!-- if customer hasn't update his layout address, country has to be verified but it's deprecated --> 
        {elseif $field_name eq "Country:name" || $field_name eq "country"} 
         <p class="required select form-group"> 
          <label for="id_country">{l s='Country'} <sup>*</sup></label> 
          <select name="id_country" id="id_country" class="form-control"> 
           <option value="">-</option> 
           {foreach from=$countries item=v} 
            <option value="{$v.id_country}"{if (isset($smarty.post.id_country) AND $smarty.post.id_country == $v.id_country) OR (!isset($smarty.post.id_country) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name}</option> 
           {/foreach} 
          </select> 
         </p> 
        {elseif $field_name eq "State:name" || $field_name eq 'state'} 
         {assign var='stateExist' value=true} 
         <p class="required id_state select form-group"> 
          <label for="id_state">{l s='State'} <sup>*</sup></label> 
          <select name="id_state" id="id_state" class="form-control"> 
           <option value="">-</option> 
          </select> 
         </p> 
        {/if} 
       {/foreach} 
       {if $postCodeExist eq false} 
        <p class="required postcode form-group unvisible"> 
         <label for="postcode">{l s='Zip/Postal Code'} <sup>*</sup></label> 
         <input type="text" class="validate form-control" name="postcode" id="postcode" 
           data-validate="isPostCode" 
           value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}"/> 
        </p> 
       {/if} 
       {if $stateExist eq false} 
        <p class="required id_state select unvisible form-group"> 
         <label for="id_state">{l s='State'} <sup>*</sup></label> 
         <select name="id_state" id="id_state" class="form-control"> 
          <option value="">-</option> 
         </select> 
        </p> 
       {/if} 
       <p class="textarea form-group"> 
        <label for="other">{l s='Additional information'}</label> 
        <textarea class="form-control" name="other" id="other" cols="26" 
           rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{/if}</textarea> 
       </p> 
       <p class="form-group"> 
        <label for="phone">{l s='Home phone'}{if isset($one_phone_at_least) && $one_phone_at_least} 
          <sup>**</sup> 
         {/if}</label> 
        <input type="text" class="form-control" name="phone" id="phone" 
          value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}"/> 
       </p> 
       <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}form-group"> 
        <label for="phone_mobile">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} 
          <sup>**</sup> 
         {/if}</label> 
        <input type="text" class="form-control" name="phone_mobile" id="phone_mobile" 
          value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{/if}"/> 
       </p> 
       {if isset($one_phone_at_least) && $one_phone_at_least} 
        {assign var="atLeastOneExists" value=true} 
        <p class="inline-infos required">** {l s='You must register at least one phone number.'}</p> 
       {/if} 
       <p class="required form-group" id="address_alias"> 
        <label for="alias">{l s='Assign an address alias for future reference.'} <sup>*</sup></label> 
        <input type="text" class="form-control" name="alias" id="alias" 
          value="{if isset($smarty.post.alias)}{$smarty.post.alias}{else}{l s='My address'}{/if}"/> 
       </p> 
      </div> 
      <div class="account_creation_bde dni"> 
       <h3 class="page-subheading">{l s='Tax identification'}</h3> 
       <p class="required form-group"> 
        <label for="dni">{l s='Identification number'} <sup>*</sup></label> 
        <input type="text" class="form-control" name="dni" id="dni" 
          value="{if isset($smarty.post.dni)}{$smarty.post.dni}{/if}"/> 
        <span class="form_info">{l s='DNI/NIF/NIE'}</span> 
       </p> 
      </div> 
     {/if} 
     <div style="text-align: center;margin-left: 15px;" class="submit clearfix"> 
      <input type="hidden" name="email_create" value="1"/> 
      <input type="hidden" name="is_new_customer" value="1"/> 
      {if isset($back)}<input type="hidden" class="hidden" name="back" 
            value="{$back|escape:'html':'UTF-8'}" />{/if} 
      <button type="submit" name="submitAccount" id="submitAccount" class="btn btn-default button button-medium"> 
       <span>{l s='Register'}</span> 
      </button> 
      {*<p class="pull-right required"><span><sup>*</sup>{l s='Required field'}</span></p>*} 
     </div> 
    </form> 
     {/if} 
{/if} 

我控制器AuthController.php

public function initContent() 
{ 
    // Just set $this->template value here in case it's used by Ajax 
    $page_name = 'authentication_bde'; 
    if (Tools::getValue('bde')) { 
     $this->setTemplate(_PS_THEME_DIR_ . 'authentication_bde.tpl'); 
     $this->context->smarty->assign('page_name', $page_name); 
    } else { 
     $this->setTemplate(_PS_THEME_DIR_ . 'authentication.tpl'); 
    } 

} 

謝謝你的幫助。

回答

0

由於存在重定向會刪除bde參數,因此應該更改後處理方法以在重定向期間保留此參數。

+0

我必須直接在控制器中修改它嗎?謝謝 – CHRISCOM