Ukrycie pól na formularzu rejestracji dla Prestashop 8

Podczas rejestracji konta klienta, system Prestashop wyświetla kilka pól. Niektóre z nich w obecnych czasach wydają się nieaktualne. W poniższym artykule skupimy się na ukryciu pól, które z Państwa punktu widzenia są niepotrzebne.

Na poniższym zdjęciu przedstawiono domyślny widok formularza do rejestracji konta klienta.

W pierwszej kolejności przystąpimy do modyfikacji formularza poprzez wyświetlenia identyfikatora dla poszczególnego pola. W tym celu otwieramy plik znajdujący się w lokalizacji

themes\classic\templates\customer\_partials\customer-form.tpl

Rozszerzamy pętle poprzez dodanie parametru „key” w linii 33

{**
 * Copyright since 2007 PrestaShop SA and Contributors
 * PrestaShop is an International Registered Trademark & Property of PrestaShop SA
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
 * that is bundled with this package in the file LICENSE.md.
 * It is also available through the world-wide-web at this URL:
 * https://opensource.org/licenses/AFL-3.0
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@prestashop.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to https://devdocs.prestashop.com/ for more information.
 *
 * @author    PrestaShop SA and Contributors <contact@prestashop.com>
 * @copyright Since 2007 PrestaShop SA and Contributors
 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
 *}
{block name='customer_form'}
  {block name='customer_form_errors'}
    {include file='_partials/form-errors.tpl' errors=$errors['']}
  {/block}

<form action="{block name='customer_form_actionurl'}{$action}{/block}" id="customer-form" class="js-customer-form" method="post">
  <div>
    {block "form_fields"}
      {foreach from=$formFields key=id item="field"}
        {if $id != "id_gender" && $id != "birthday" && $id != "optin"}
          {block "form_field"}
            {if $field.type === "password"}
              <div class="field-password-policy">
                {form_field field=$field}
              </div>
            {else}
              {form_field field=$field}
            {/if}
          {/block}
        {/if}  
      {/foreach}
      {$hook_create_account_form nofilter}
    {/block}
  </div>

  {block name='customer_form_footer'}
    <footer class="form-footer clearfix">
      <input type="hidden" name="submitCreate" value="1">
      {block "form_buttons"}
        <button class="btn btn-primary form-control-submit float-xs-right" data-link-action="save-customer" type="submit">
          {l s='Save' d='Shop.Theme.Actions'}
        </button>
      {/block}
    </footer>
  {/block}

</form>
{/block}

Wprowadzamy zmiany i odświeżamy widok.

System wyświetla unikatowy identyfikator przy każdym polu. Dla niniejszego wpisu założę, że chciałbym ukryć pola o następujących identyfikatorach: id_gender, birthday oraz optin. W tym celu ponownie modyfikuje plik customer-form.tpl w linii 34 i 44.

{**
 * Copyright since 2007 PrestaShop SA and Contributors
 * PrestaShop is an International Registered Trademark & Property of PrestaShop SA
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
 * that is bundled with this package in the file LICENSE.md.
 * It is also available through the world-wide-web at this URL:
 * https://opensource.org/licenses/AFL-3.0
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@prestashop.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to https://devdocs.prestashop.com/ for more information.
 *
 * @author    PrestaShop SA and Contributors <contact@prestashop.com>
 * @copyright Since 2007 PrestaShop SA and Contributors
 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
 *}
{block name='customer_form'}
  {block name='customer_form_errors'}
    {include file='_partials/form-errors.tpl' errors=$errors['']}
  {/block}

<form action="{block name='customer_form_actionurl'}{$action}{/block}" id="customer-form" class="js-customer-form" method="post">
  <div>
    {block "form_fields"}
      {foreach from=$formFields key=id item="field"}
        {if $id != "id_gender" && $id != "birthday" && $id != "optin"}
          {block "form_field"}
            {if $field.type === "password"}
              <div class="field-password-policy">
                {form_field field=$field}
              </div>
            {else}
              {form_field field=$field}
            {/if}
          {/block}
        {/if}  
      {/foreach}
      {$hook_create_account_form nofilter}
    {/block}
  </div>

  {block name='customer_form_footer'}
    <footer class="form-footer clearfix">
      <input type="hidden" name="submitCreate" value="1">
      {block "form_buttons"}
        <button class="btn btn-primary form-control-submit float-xs-right" data-link-action="save-customer" type="submit">
          {l s='Save' d='Shop.Theme.Actions'}
        </button>
      {/block}
    </footer>
  {/block}

</form>
{/block}

Wprowadzamy zmiany i odświeżamy widok.

Finalnie system nie wyświetla pól, których nie chcemy.

Privacy Preference Center