Jump to content
Sign in to follow this  
Mrboriska

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

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 не знаю вообще.

Share this post


Link to post
Share on other sites

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

В пыхе шарю посредственно. Плюс строения 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-способ-оплаты-в-зависимости-от-способа-доставк/

Share this post


Link to post
Share on other sites

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

?

 

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

 

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

Share this post


Link to post
Share on other sites

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

...

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

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']`

Share this post


Link to post
Share on other sites

Там типы доставки. Как логически можно понять из названия. А код я этот брал от сюда 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;
}

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

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.