упростить оформление заказа Prestasop

Тема в разделе 'Presta- памятка', создана пользователем savvato, 12 фев 2013.

  1. savvato Administrator

    Часто сталкиваемся с вопросом, как упростить оформление заказа, убрать не нужные поля. И так:
    Включаем гостевой заказ:
    order-opc-new-account.tpl

    При обычном:
    authentication.tpl

    Скрываем выбор пола пользователя (муж/жен.)
    По-умолчанию:
    <p class="radio required">
    <span>{l s='Title'}</span>
    <input type="radio" name="id_gender" id="id_gender1" value="1" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == 1}checked="checked"{/if} />
    <label for="id_gender1" class="top">{l s='Mr.'}</label>
    <input type="radio" name="id_gender" id="id_gender2" value="2" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == 2}checked="checked"{/if} />
    <label for="id_gender2" class="top">{l s='Ms.'}</label>
    </p>
    Добавляем hidden (скрываем[IMG]
    <p class="radio required hidden">
    <span>{l s='Title'}</span>
    <input type="radio" name="id_gender" id="id_gender1" value="1" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == 1}checked="checked"{/if} />
    <label for="id_gender1" class="top">{l s='Mr.'}</label>
    <input type="radio" name="id_gender" id="id_gender2" value="2" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == 2}checked="checked"{/if} />
    <label for="id_gender2" class="top">{l s='Ms.'}</label>
    </p>
    и тд. со всеми не обяз. полями.
    Значением по-умолчанию добавляем в input
    =======================
    "значением по умолчанию добавляем в input"???
    <input onkeyup="$('#lastname').val(this.value);" type="text" class="text" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname}{/if}" />
    На:
    <input type="hidden" name="customer_lastname" value="фамилия" />
    =======================
    Убираем обязательные поля
    Их можно убрать в файле Address.php, из строки
    Код:
    protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'city');
    ========================
    Файл order-opc.js
    Нужно заставить его валидировать скрытые поля.
    Для этого из строк (в районе 560-х и 570-х)
    $('#opc_account_form input:visible').each(function() {
    и
    $('#opc_account_form select:visible').each(function() {
    нужно убрать подстроки ":visible".

    После этого все будет нормально валидироваться.
    ==========================
    Если выскакивает ошибка id_country
    <label for="id_country">{l s='Country'}</label>
    <select name="id_country" id="id_country">
    <option value="177" selected="selected">Российская Федерация</option>
    </select>
    ==========================
    Выбор оплаты по умолчанию (модуль cashondelivery)
    Достаточно в файле payment.tpl модуля cashondelivery изменить адрес ссылки:
    <a href="{$this_path_ssl}validation.php" title="{l s='Pay with cash on delivery (COD)' mod='cashondelivery'}">
    на
    <a href="{$this_path_ssl}validation.php?confirm=1" title="{l s='Pay with cash on delivery (COD)' mod='cashondelivery'}">

    отсюда
  2. savvato Administrator

    Часто сталкиваемся с вопросом, как упростить оформление заказа, убрать не нужные поля. И так:
    Включаем гостевой заказ: order-opc-new-account.tpl
    При обычном: authentication.tpl
    Скрываем выбор пола пользователя (муж/жен.) По-умолчанию:
    Код:
    <p class="radio required">
    <span>{l s='Title'}</span>
    <input type="radio" name="id_gender" id="id_gender1" value="1" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == 1}checked="checked"{/if} />
    <label for="id_gender1" class="top">{l s='Mr.'}</label>
    <input type="radio" name="id_gender" id="id_gender2" value="2" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == 2}checked="checked"{/if} />
    <label for="id_gender2" class="top">{l s='Ms.'}</label>
    </p>
    Добавляем hidden (скрываем) Код:
    <p class="radio required hidden">
    <span>{l s='Title'}</span>
    <input type="radio" name="id_gender" id="id_gender1" value="1" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == 1}checked="checked"{/if} />
    <label for="id_gender1" class="top">{l s='Mr.'}</label>
    <input type="radio" name="id_gender" id="id_gender2" value="2" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == 2}checked="checked"{/if} />
    <label for="id_gender2" class="top">{l s='Ms.'}</label>
    </p>
    и тд. со всеми не обяз. полями.
    Значением по-умолчанию добавляем в input
    =======================
    "значением по умолчанию добавляем в input"??? Код:
    <input onkeyup="$('#lastname').val(this.value);" type="text" class="text" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname}{/if}" />
    На: Код:
    <input type="hidden" name="customer_lastname" value="фамилия" />
    =======================
    Убираем обязательные поля Их можно убрать в файле Address.php, из строки Код:
    protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'city');
    ========================
    Файл order-opc.js Нужно заставить его валидировать скрытые поля.
    Для этого из строк (в районе 560-х и 570-х) Код:
    $('#opc_account_form input:visible').each(function() {
    иКод:
    $('#opc_account_form select:visible').each(function() {
    нужно убрать подстроки ":visible".
    После этого все будет нормально валидироваться.
    ==========================
    Если выскакивает ошибка id_country Код:
    <label for="id_country">{l s='Country'}</label>
    <select name="id_country" id="id_country">
    <option value="177" selected="selected">РоссийскаяФедерация</option>
    </select>
    ==========================
    Выбор оплаты по умолчанию (модуль cashondelivery)
    Достаточно в файле payment.tpl модуля cashondelivery изменить адрес ссылки: Код:
    <a href="{$this_path_ssl}validation.php" title="{l s='Pay with cash on delivery (COD)' mod='cashondelivery'}">
    на Код:
    <a href="{$this_path_ssl}validation.php?confirm=1" title="{l s='Pay with cash on delivery (COD)' mod='cashondelivery'}">

Поделиться этой страницей