我希望两页有两种不同的形式

时间:2016-11-30 14:29:42

标签: prestashop prestashop-1.7

我想为identity.tpl页面和registration.tpl提供不同的表单。 但是在同一表单页customer-form.tpl上的两个引用。 我该怎么办?

我的表单是静态的,它适用于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}

2 个答案:

答案 0 :(得分:0)

将所有内容从customer-form.tpl复制到identity.tplregistration.tpl,然后进行修改。 作为建议,您也应该在相应的前端控制器和模型对象中进行一些更改,因为它具有基于当前customer-form.tpl字段的验证。代码应该是这样的:

{render file='customer/_partials/form-that-you-want.tpl' ui=$form-that-you-want}
祝你好运。

答案 1 :(得分:0)

在PrestaShop中,每个页面都有一个唯一值,可以使用以下代码获取此值:

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

您将在“身份和注册”页面上从上面的变量中获得不同的值,您可以通过Smarty传递上述变量的值,并在&#39; custom-form.tpl中添加条件&#39;