Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Помогите написать правильный код.


Recommended Posts

В общем есть модуль - Наличными в точке выдачи.

Так же есть модуль - Самовывоз Из стандартного Opencart 1.5.5.1

 

Так же есть код, с помощью которого я хотел реализовать все так, чтобы только если выбран Самовывоз показывался способ оплаты Наличными в точке выдачи.

 

$shipping_method = $this->session->data['shipping_method'];   $shipping_methods = array('pickup');   $total_cost = $this->cart->getTotal();if (in_array($shipping_method['id'], $shipping_methods)) { if ($this->config->get('cash_in_a_delivery_point_total') > $total) {$status = false; } elseif (!$this->config->get('cash_in_a_delivery_point_geo_zone_id')) {$status = true; } elseif ($query->num_rows) {$status = true; } else {$status = false; }} else {$status = false;}

Но, результат такого когда - это ошибка в строке 

if (in_array($shipping_method['id'], $shipping_methods)) {

и непонятные кроказябры в месте где выводятся методы оплаты

 

В пыхе шарю посредственно. Плюс строения OpenCart не знаю вообще.

Надіслати
Поділитися на інших сайтах


хотел реализовать все так, чтобы только если выбран Самовывоз показывался способ оплаты Наличными в точке выдачи.

В пыхе шарю посредственно. Плюс строения OpenCart не знаю вообще.

А про гугл знаете?

google: opencart зависимость доставки оплаты

https://opencartforum.com/topic/751-sposoby-dostavki-i-oplaty-vzaimnaia-zavisimost/?do=findComment&comment=4839

https://opencartforum.com/topic/2506-sposob-oplaty-v-zavisimosti-ot-sposoba-dostavk/?do=findComment&comment=16310

https://opencartforum.com/topic/8081-способ-оплаты-в-зависимости-от-способа-доставк/

Надіслати
Поділитися на інших сайтах


А про гугл знаете

?

 

Это не ответ. Мне допустим не ясно как выписывать название модулей. Так же неясно почему этот код не работает.

 

Да и те варианты они либо мне не подходят либо не на ту версию.

Надіслати
Поділитися на інших сайтах


Так же неясно почему этот код не работает.

...

Но, результат такого когда - это ошибка в строке

if (in_array($shipping_method['id'], $shipping_methods)) {

и непонятные кроказябры в месте где выводятся методы оплаты

Волшебный совет: читайте сообщения об ошибках. Там всегда написано, что не так.

Судя по приведенному куску кода, вместо

 

if (in_array($shipping_method['id'], $shipping_methods)) {
надо

 

if (in_array($shipping_method, $shipping_methods)) {
Хотя я не знаю точно, что там в `$this->session->data['shipping_method']`
Надіслати
Поділитися на інших сайтах


Там типы доставки. Как логически можно понять из названия. А код я этот брал от сюда https://opencartforum.com/topic/751-sposoby-dostavki-i-oplaty-vzaimnaia-zavisimost/?do=findComment&comment=4839

 

Знать бы еще код, соответствующий Самовывозу. 

 

Нашел решение. Убрал зависимость от гео зоны и сделал вот так.

 

$shipping_method = $this->session->data['shipping_method']['code'];
$shipping_methods = array('pickup.pickup');


if (in_array($shipping_method, $shipping_methods)) {
$status = TRUE;
} else {
$status = false;
}

И этот вариант работает!

 

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.