Привязка метода оплаты к варианту доставке (OpenCart)

gozhdik

Постоялец
Регистрация
15 Апр 2007
Сообщения
56
Реакции
42
Кто знает как в OpenCart сделать так, чтобы выводился определенный метод оплаты при выборе определенного варианта доставки? Например чтобы метод оплаты наложенным платежом выводился только при выборе варианта доставки Новой Почтой? Желательно без установки модуля Simple.
 
быстрый, но не красивый вариант:
в файле \catalog\view\theme\default\template\checkout\payment_method.tpl
после 4-й строки <?php if ($payment_methods) { ?>
добавить флаг был ли выбран нужный метод доставки:
PHP:
<?php if (strpos($this->session->data['shipping_method']['code'], 'novaposhta') !== false) { $_novaposhta = true; } else { $_novaposhta = false; } ?>
далее при выводе опций проверяя флаг - выводить необходимые пункты:
PHP:
<?php if ($_novaposhta && $payment_method['code'] == 'cod') {
'cod' - это код метода "Оплата при доставке"

конечно красивее в админке связать методы доставки и оплаты, и выводить в бэкэнде только привязанные к выбранному.
 
Решил задачу таким способом (вместо "ocu_ukrposhta.0", "ocu_ukrposhta.1", "ocu_ukrposhta.2" нужно ставить id тех методов доставки при которых не нужно выводить метод оплаты при получении)

Для просмотра ссылки Войди или Зарегистрируйся
 

Вложения

  • ship2pay.zip
    475 байт · Просмотры: 114
  • Нравится
Реакции: one
Решил задачу таким способом (вместо "ocu_ukrposhta.0", "ocu_ukrposhta.1", "ocu_ukrposhta.2" нужно ставить id тех методов доставки при которых не нужно выводить метод оплаты при получении)

Можно поподробней: что с этим файлом делать?
Спасибо!
 
Народ, а как можно сделать доставку бесплатной в зависимости от цены?
 
Можно поподробней: что с этим файлом делать?
Спасибо!
1. Включаешь необходимые методы доставки и метод оплаты "при получении"
2. Устанавливаешь Для просмотра ссылки Войди или Зарегистрируйся, кидаешь в папку xml прикрепленный файл и вносишь в него id тех методов доставки при которых не нужно выводить метод оплаты при получении.
 
  • Заблокирован
  • #7
Народ, а как можно сделать доставку бесплатной в зависимости от цены?
Модуль бесплатной доставки по-моему в комплекте по-умолчанию идёт. В какой-то сборке точно видел
 
Кто знает как в OpenCart сделать так, чтобы выводился определенный метод оплаты при выборе определенного варианта доставки? Например чтобы метод оплаты наложенным платежом выводился только при выборе варианта доставки Новой Почтой? Желательно без установки модуля Simple.
я сделал в

http/catalog/model/payment/cod.php

$shipping_method = $this->session->data['shipping_method'];
if ( $shipping_method['code'] == 'nmpost.nmpost' ) {
$status = false;
} else {
$status = true;
}
nmpost == nmpost.php == брал как шаблон nexpress.php из модуля всех почтовых Украины.

/http/catalog/model/payment/nmpost.php

nmpost.php брал (тупо копировал в новый модуль все, т.к. мне надо было совместить их если сумма меньше указанной, то наложки нету)
после:
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('npnal_geo_zone_id') . "' AND country_id = '" . (int)$add
добавил:
$shipping_method = $this->session->data['shipping_method'];
if ( $shipping_method['code'] == 'nmpost.nmpost' ) {
$status = true;
} else {
$status = false;
}
npnal.php из bank_transfer.php делал
Там много еще фишек потом вылезет, но думаю на путь истинный наставил :)
 
Испробовал все варианты! Есть решение для 1.5.6...??? нашел пока только Shipping2Payment :(
 
Назад
Сверху