我目前创建的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: etudiant@email.fr"
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 :(得分:0)
由于存在删除bde
参数的重定向,因此您应该更改后处理方法以在重定向期间保留此参数。