Intereting Posts
Декодирование JSON после отправки с использованием PHP cUrl Как загрузить второй список DropDown из базы данных после первого изменения DropDownList Sanitizing SVG с помощью PHP Как направить уведомление от клиента отдыха для целей тестирования Заново заполнять ключи php Как удалить <br/>, если текст не появился до или после него? DOMxpath или регулярное выражение? Вставка производительности node-mongodb-native как выбрать mysql-запрос с иностранным языком? «Строка не может быть проанализирована как XML» ошибка php WooCommerce: назначение конечной точки настраиваемому шаблону на моих учетных страницах Можно ли получить значение частной собственности с помощью Reflection? Невозможно правильно проехать в Ларавеле Dropzone.js удалить кнопку с php Дополнительная обратная косая черта, необходимая для PHP регулярного выражения Обозначение phpDoc для указания типа возврата, идентичного типу параметра

Как получить внешний купон / ваучер на странице для работы в OpenCart?

У меня есть другая страница в моей среде OpenCart, скажем, страница о нас, которая имеет эти формы ниже, предполагая, что пользователь имеет элементы в своей корзине, эти формы должны работать, но они не работают:

Введите свой код купона здесь:

<form action="index.php?route=checkout/cart" method="post" enctype="multipart/form-data" id="basket"> <input type="text" value="" id="coupon" name="coupon"/> <input type="hidden" value="coupon" name="next"/> <input type="submit" class="button" value="Apply Coupon"/> </form> 

Введите код подарочного ваучера здесь:

 <form action="index.php?route=checkout/cart" method="post" enctype="multipart/form-data" id="basket"> <input type="text" value="" name="voucher"/> <input type="hidden" value="voucher" name="next"/> <input type="submit" class="button" value="Apply Voucher"/> </form> 

Это для системы кодов ваучеров, но она не работает (этот код по умолчанию не редактируется):

/catalog/controller/checkout/cart.php

 // VOUCHER // IF THE USER HAS ENTERED A VOUCHER if (isset($this->request->post['voucher']) && $this->request->post['voucher']) { foreach ($this->request->post['voucher'] as $key) { if (isset($this->session->data['vouchers'][$key])) { unset($this->session->data['vouchers'][$key]); } } } не // VOUCHER // IF THE USER HAS ENTERED A VOUCHER if (isset($this->request->post['voucher']) && $this->request->post['voucher']) { foreach ($this->request->post['voucher'] as $key) { if (isset($this->session->data['vouchers'][$key])) { unset($this->session->data['vouchers'][$key]); } } } 

Solutions Collecting From Web of "Как получить внешний купон / ваучер на странице для работы в OpenCart?"

Купоны / Ваучеры / Доставка

Эти три системных блока являются модулями в OpenCart. Они зацикливаются вместе, вы можете редактировать файлы, например, сделать несколько пустым или использовать оператор if/else для отображения только определенных модулей.

Вы не можете вызвать форму в cart.tpl , это должно быть:

 <div class="right"> <!-- eVoucher System --> <?php foreach ($modules as $module) { ?> <?=$module?> <?php } ?> <!-- eVoucher System --> </div> 

Расположение файлов модулей доставки / ваучера и купона

Это будет цикл и показать файлы tpl модуля, доставку, купон и ваучер. Они странно расположены

 /catalog/view/theme/default/total/coupon.tpl /catalog/view/theme/default/total/shipping.tpl /catalog/view/theme/default/total/voucher.tpl 

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

 <div> <div class="cart-heading"><?php echo $heading_title; ?></div> <div class="cart-content" id="coupon"><?php echo $entry_coupon; ?>&nbsp; <input type="text" name="coupon" value="<?php echo $coupon; ?>" /> &nbsp;<a id="button-coupon" class="button"><span><?php echo $button_coupon; ?></span></a></div> </div> <script type="text/javascript"> <!-- // // jQuery dependent based on .post so make sure // your footer or header jQuery call is before this // $('#button-coupon').bind('click', function() { $.ajax({ type: 'POST', url: 'index.php?route=total/coupon/calculate', data: $('#coupon :input'), dataType: 'json', beforeSend: function() { $('.success, .warning').remove(); $('#button-coupon').attr('disabled', true); $('#button-coupon').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>'); }, complete: function() { $('#button-coupon').attr('disabled', false); $('.wait').remove(); }, success: function(json) { if (json['error']) { $('#basket').before('<div class="warning">' + json['error'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); } if (json['redirect']) { location = json['redirect']; } } }); }); //--> </script> 

Так вот как и где эти файлы, total также имеет контроллер и coupon а все остальные модули являются контроллерами и стандартными MVC.

Форма внешней купонной корзины

Поэтому для использования на внешних страницах, как вы хотели, выщипывая файлы tpl и $modules и $module , код должен быть:

(убедившись, что «slash» index.php в случае URI SEO)

Конечно, например, на вашей странице о нас:

 <strong>Please enter your coupon:</strong> <form action="/index.php?route=total/coupon/calculate" method="post" enctype="multipart/form-data" id="basket"> <input type="text" value="" id="coupon" name="coupon"/> <input type="hidden" value="coupon" name="next"/> <input type="submit" class="button" value="Apply Coupon"/> </form> 

Я пробовал помещать эти формы на страницу, и они работают на меня. Ввод кода купона / ваучера приводит меня к странице проверки с теми кодами, которые уже существуют для меня.