Перейти к содержанию
Mrboriska

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

Рекомендуемые сообщения

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

Так же есть модуль - Самовывоз Из стандартного 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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.