Вход / Регистрация

Создайте сайт прямо сейчас!

Зарегистрируйтесь по ссылкам и получите дополнительные бонусы при создании сайта



  • Персональный перечень способов заработка на сайте именно вашей тематики
  • Аудит юзабилити сайта бесплатно $20
  • Набор скриптов на сумму $40 для увеличения продаж
  • Аудит юзабилити интернет магазина бесплатно $60

Как получить бонусы?


Как только вы создадите сайт по одной из указанных ссылок, я увижу это в отчете партнерской программы:

После оплаты одного из пакетов, отправьте запрос на info@ucozmagazines.ru с указанием адреса созданного сайта.

Перемещение поля с промо-кодом под таблицу с товарами

О чем здесь?

В заметке рассмотрено решение о перемещении поля с вводом промо-кода под таблицу с товарами. Если у покупателя есть промо-код, мы рассчитываем, что сначала он его введет, а затем приступит к выбору способов оплаты, доставки и заполнения полей заказа.

Данное решение неоднократно применялось на практике. После ввода и проверки промо-кода страница перезагружается. Иногда сбрасываются заполненные поля, а также выбранные способы оплаты и доставки.

Такое поведение поля с промо-кодом встречается и у тех, кто установил наш скрипт Полной автоматизации и стилизации страницы оформления заказа.

Пишем скрипт

Прежде чем начать, мы должны знать id поля с промо-кодом. Посмотреть можно в панели управления - интернет магазин - управления полями заказа:

Теперь пишем скрипт. На самом деле алгоритм такой - мы не будем перемещать поле с промо-кодом, а просто скроем его. Под таблицу с товарами добавим ссылку "Есть промо-код?" при нажатии на которую будет появляться новое поле и кнопка "Проверить". При нажатии на кнопку проверить значение из поля скопируется в скрытое и будет запущена функция проверки промо-кода:

$('#order-fld-5').parent().parent().parent().parent().parent().hide();
$('#order-table tr:last-child td:first-child').prepend('<div style="float: left;display:none">промо-код: <input type="text" > <input type="button" onclick="$(\'#order-fld-5\').val($(this).prev().val());checkPromo(5)" value="Проверить">');
 $("#order-table tr:last-child td:first-child").prepend('<div style="float: left;"><a href="#" onclick="$(this).hide();$(this).parent().next().show();return false;">Есть промо-код?</a></div>');

Cкрипт написан с ходу, его можно назвать скорее костылем, но со своей задачей справляется. Обратите внимание, в скрипте три раза встречается цифра пять (5) - это id поля с промо-кодом. Замените его на свой.

Размещаем скрипт

Теперь давайте откроем панель управления Дизайн - Управления дизайном (шаблоны) - Страница служебных форм и добавим в шаблон перед закрывающим тегом body:

<?if $PAGE_ID$ = 'checkout' and $NUM_ENTRIES$?>
<script>
$('#order-fld-5').parent().parent().parent().parent().parent().hide();
$('#order-table tr:last-child td:first-child').prepend('<div style="float: left;display:none">промо-код: <input type="text" > <input type="button" onclick="$(\'#order-fld-5\').val($(this).prev().val());checkPromo(5)" value="Проверить">');
 $("#order-table tr:last-child td:first-child").prepend('<div style="float: left;"><a href="#" onclick="$(this).hide();$(this).parent().next().show();return false;">Есть промо-код?</a></div>');
</script>
<?endif?>

Готово!

Статьи по теме

Сергей    21.04.2016    5859    5.0 из 5.0 (6)

Оцените материал:

Обсуждение

Всего комментариев: 11

g
1
Сергей, здравствуйте. А как придать вид кнопки? Она у нас просто текстом встает без окантовки.
avatar
2
2

Код
<?if $PAGE_ID$ = 'checkout' and $NUM_ENTRIES$?><script>
$('#order-fld-5').parent().parent().parent().parent().parent().hide();
$('#order-table tr:last-child td:first-child').prepend('<div style="float: left;display:none">промо-код: <input type="text" > <input type="button" class="btn-promo" onclick="$(\'#order-fld-5\').val($(this).prev().val());checkPromo(5)" value="Проверить">');
  $("#order-table tr:last-child td:first-child").prepend('<div style="float: left;"><a href="#" onclick="$(this).hide();$(this).parent().next().show();return false;">Есть промо-код?</a></div>');
</script>
<?endif?>
Замените на этот код. В нем у кнопки есть класс btn-promo, можете прописать для него стили в CSS магазина
L
11
Не получается. Как я понял нужно добавить 
Код
type="button" class="btn-promo"
в последнюю <a href=""> но если просто добавить ничего не произойдет.
avatar
3
У меня кнопка "проверить" стоит криво относительно других. Игралась настройками в Css - выравнять не получилось. Помогите пожалуйста.
avatar
1
4
Елена, попробуйте добавить в CSS магазина:

Код
#order-table input [type='button']{
margin-top: 0px;
}
#order-but-continue {
   margin-top: 6px;
}
avatar
5
попробовала, не помогло(
сайт http://www.line-l.ru
avatar
1
6
такс. надо переписать немного скрипт, запендюрить эту кнопку в какое-нибудь другое место и больше не мучиться...
avatar
7
видать съезжает из-за измененного css.
прописала сейчас методом подгона себе так - 
#order-but-continue { 
   margin: 0 0 0 20px ; 
}

вроде более менее ровно
S
8
Сергей, вот уж спасибо за скрипт. Не надеялся уже, а тут такое... Да еще летом! ))

Владис.
S
9
Кстати, сделал вот так:
avatar
1
10
По-моему, все отлично получилось, Владис.
Я добавлю скриншот в статью.
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Перемещение поля с промо-кодом под таблицу с товарами
Перемещение поля с промо-кодом под таблицу с товарами