2016-11-30 57 views
0

我想爲identity.tpl頁和registration.tpl頁有不同的表單。 但是在同一頁上的兩個參考頁面customer-form.tpl。 我該怎麼辦?我想爲兩頁有兩種不同的形式

我的表單是靜態的,它完全適用於registration.tpl頁面。

定製form.tpl:

{include file='_partials/form-errors.tpl' errors=$errors['']} 

<form action="{$action}" id="customer-form" class="js-customer-form" method="post"> 
    <section> 
    <div class="col-md-6 mt-15"> 
     <div class="row"> 
     <label for=""> 
      Civilité <sup class="c-warning">*</sub> 
      </label> 
      <label class="ml-60 mr-20" for=""> 
      <input name="id_gender" 
      type="radio" 
      value="1"> 
      Monsieur 
      </label> 
      <label for=""> 
      <input name="id_gender" 
      type="radio" 
      value="2"> 
      Madame 
      </label> 
     </div> 

     <div class="row"> 
      <div class="col-md-3 plr-0 "> 
      <label for=""> 
       Nom <sup class="c-warning">*</sub> 
       </label> 
      </div> 

      <div class="col-md-6"> 
       <input name="lastname" type="text" value="" required> 
      </div> 
      </div> 


      <div class="row"> 

      <div class="col-md-3 plr-0 "> 
       <label for=""> 
       Prénom <sup class="c-warning">*</sub> 
       </label> 
       </div> 

       <div class="col-md-6"> 
       <input name="firstname" type="text" value="" required> 
       </div> 
      </div> 
      <div class="row obligatory"> 
       <label for=""><sup>*</sup>Champs obligatoires</label> 
      </div> 

      </div> 


      <div class="col-md-6 pt-55"> 

       <div class="row"> 

       <div class="col-md-4 plr-0 "> 
        <label for=""> 
        Adresse e-mail <sup class="c-warning">*</sub> 
        </label> 
        </div> 

        <div class="col-md-6"> 
        <input name="email" type="email" value="" required> 
        </div> 
       </div> 
       <div class="row"> 

        <div class="col-md-4 plr-0 "> 
        <label for=""> 
         Mot de passe <sup class="c-warning">*</sub> 
         </label> 
        </div> 

        <div class="col-md-6"> 
         <input 
         name="password" 
         type="password" 
         value="" 
         required > 
        </div> 
        </div> 
        <div class="row"> 

        <div class="col-md-4 plr-0 "> 

        </div> 

        <div class="col-md-6 ml-10"> 
         <label for=""> 
         <input 
         name="newsletter" 
         type="checkbox" 
         value="1"> 
         S’inscrire à la newsletter 
         </label> 
         <!-- <input class="mt-10" type="submit" value="S'INSCRIRE"> --> 

        </div> 
        </div> 
        <footer class="form-footer clearfix"> 
        <input type="hidden" name="submitCreate" value="1"> 
        {block "form_buttons"} 
        <button class="btn form-control-submit pull-xs-right" data-link-action="save-customer" type="submit"> 
         S'INSCRIRE 
        </button> 
        {/block} 
        </footer> 
       </div> 

      </section> 



      </form> 

identity.tpl:

{extends 'customer/page.tpl'} 

{block name='page_content'} 
    <div class="container container-id container-perso"> 
     <h2 class="legal">{l s='Your personal information'}</h2> 

     {render file='customer/_partials/customer-form.tpl' ui=$customer_form} 
    </div> 
{/block} 

identity.tpl:

{extends file='page.tpl'} 

{block name='page_header_container'}{/block} 

{block name='page_content_container'} 
{hook h="displaySliderImg"} 

<div class="container container-id container-user"> 
    {block name='register_form_container'} 
    <h2 class="legal">{l s='Create an account'}</h2> 
    <p class="text-center mt-10">Remplissez les informations ci-dessous.</p> 

    <div class="row bg-grey ptb-30 plr-50 mt-90" id="registration"> 
      <div class="col-md-12"> 
      {$hook_create_account_top nofilter} 
      <section class="register-form"> 
       {render file='customer/_partials/customer-form.tpl' ui=$register_form} 
      </section> 
     </div> 
     </div> 
    </div> 

    <p>{l s='Already have an account?'} <a href="{$urls.pages.authentication}">{l s='Log in instead!'}</a></p> 
{/block} 
</div> 
{/block} 

回答

0

全部複製CON帳篷從customer-form.tplidentity.tplregistration.tpl,然後進行修改。 作爲建議,您應該對相應的前端控制器和模型對象進行一些更改,因爲它具有基於當前customer-form.tpl字段的驗證。代碼應該是這樣的:

{render file='customer/_partials/form-that-you-want.tpl' ui=$form-that-you-want} 

祝你好運。

+0

是否有可能將identity.tpl重定向到另一個表單? – DenisMasot

+0

是的。您可以在'identity.tpl'中包含除'customer-form.tpl'之外的其他TPL。但是你應該小心,因爲你正在自定義你的模板,並且如果所有更改的文件都不兼容,未來的更新或模板更新可能會使你的商店崩潰。 – PixelWeb

+0

我應該如何去做? – DenisMasot

1

在的Prestashop每一頁都有一個唯一的值,該值可以使用下面的代碼是牽強:

$this->context->smarty->smarty->tpl_vars['page']->value['page_name'] 

你可以從上面的身份和註冊頁面變量得到不同的值,你可以通過值以上變量通過Smarty並在'custom-form.tpl'中添加一個條件