Часто сталкиваемся с вопросом, как упростить оформление заказа, убрать не нужные поля. И так: Включаем гостевой заказ: 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'}"> отсюда
Часто сталкиваемся с вопросом, как упростить оформление заказа, убрать не нужные поля. И так: Включаем гостевой заказ: 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'}">