2016-11-30 3 views
0

Ich möchte eine andere Formen für die identity.tpl Seite und registration.tpl haben. Aber die beiden Referenzen auf der gleichen Formular Seite customer-form.tpl. Wie kann ich tun?Ich möchte zwei verschiedene Formen für zwei Seiten haben

Mein Formular ist statisch, es funktioniert perfekt für die Seite registration.tpl.

custom-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} 

Antwort

0

Kopieren Sie alle con Zelt von customer-form.tpl bis identity.tpl und registration.tpl und dann nehmen Sie Ihre Änderungen vor. Als Hinweis sollten Sie auch einige Änderungen am entsprechenden Front-Controller- und Modellobjekt vornehmen, da die Validierung auf aktuellen customer-form.tpl Feldern basiert. Code sollte in etwa so aussehen:

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

Viel Glück.

+0

Ist es möglich, 'identity.tpl' in ein anderes Formular umzuleiten? – DenisMasot

+0

Ja ist es. Sie könnten andere TPL als 'customer-form.tpl' in Ihre' identity.tpl' einfügen. Aber Sie sollten vorsichtig sein, weil Sie Ihre Vorlage anpassen und ein Update oder eine Änderung der Vorlage in der Zukunft Ihren Shop zum Absturz bringen könnte, wenn alle geänderten Dateien nicht kompatibel sind. – PixelWeb

+0

Wie soll ich vorgehen? – DenisMasot

1

In PrestaShop jeder Seite einen eindeutigen Wert hat und dieser Wert kann mit dem folgenden Code abgerufen werden:

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

Sie einen anderen Wert von oben Variable auf Identität und Registrierungsseite erhalten, können Sie den Wert übergeben der obigen Variable durch Smarty und fügen Sie eine Bedingung in 'custom-form.tpl'

Verwandte Themen