Jump to content

Модули доставки


Recommended Posts

собственно, он

1. пересчитывает по курсу при оформлении заказа. Получается: реальную стоимость в уже пересчитанных рублях умножает на текущий курс.

2. потом, отправляется письмо с этой же цифирью (помноженной)

3. в админке - заказы (вкладка: Оплата-Доставка) просто пишет

Способ доставки:   Доставка по Московской области

Можно ли как-то указывать там километраж и общую стоимость доставки от километража?

Во вкладке заказа: Товары пишет эту же ошибочную сумму.

По кнопкам Счёт и Накладная - та же ошибка. Если не ошибаюсь Счёт и Накладная генерят данные из БД. и при оформлении заказа данные о заказе падают в отдельную табличку. Т.е. что положишь - то и будет. Насколько понимаю, этим перестраховываются зависимостью от изменения цен в магазине и уже оформленных заказах.

Собственно, проблема и менно при оформлении заказа. Возможно задача не такая уж и сложная? Подсобите кто чем может, плз ))

Link to post
Share on other sites
  • Replies 93
  • Created
  • Last Reply

Top Posters In This Topic

  • support

    45

  • lodos

    25

  • neorumancer

    6

  • enigmabob@mail.ru

    4

А в итоговых суммах заказа в админке не выводится стоимость доставки?!

По идее, в итоговых суммах должно выводиться.

Link to post
Share on other sites

На странице подтверждение выодится итоговые суммы, это модули в /includes/modules/order_total.

Доставка выводится в /includes/modules/order_total/ot_shipping.php

Настройки в Админке - Модули - Итого.

Но там вроде нет пересчёта.

Link to post
Share on other sites

перебрал /includes/modules/order_total...

так и не понял где берётся цена доставки

прилагаю скрин.

checkout_kms.png

стоимость доставки по МСК области в данном случае должна составлять 371р.

Link to post
Share on other sites

Цена доставки берётся из базы, из настроек самого модуля в /includes/modules/shipping/ я так понимаю.

Наверное нужно в /includes/modules/order_total/ot_shipping.php править код:


        $this->output[] = array('title' => $order->info['shipping_method'] . ':',

                                'text' => $vamPrice->Format($order->info['shipping_cost'], true,0,true),

                                'value' => $vamPrice->Format($order->info['shipping_cost'], false,0,true));
[/code]

или может даже /checkout_process.php, именно в этом файле как я понимаю записывается в базу данных заказ, в том числе и стоимость доставки.

Link to post
Share on other sites

Благодарю за рекомендацию.

Ковырял /includes/modules/order_total/ot_shipping.php

В нём нашёл


     $this->output[] = array('title' => $order->info['shipping_method'] . ':',
                               'text' => $vamPrice->Format($order->info['shipping_cost'], true,0,true),
                               'value' => $vamPrice->Format($order->info['shipping_cost'], true,0,true;

[/code] и заменил на
[code]
     if(eregi(MODULE_SHIPPING_KMS_TEXT_TITLE,$order->info['shipping_method'])){
     // только для модуля kms
$kmspercent=1000;
     }else{
$kmspercent=$memcache_obj->get('eurocurs');
     }
     $this->output[] = array('title' => $order->info['shipping_method'] . ':',
                               'text' => round($vamPrice->Format($order->info['shipping_cost'], true,0,true)/$memcache_obj->get('eurocurs')*$kmspercent).' '.LANGUAGE_CURRENCY_TITLE.'',
                               'value' => round($vamPrice->Format($order->info['shipping_cost'], true,0,true)/$memcache_obj->get('eurocurs')*$kmspercent));

Осталось непонятным, почему стоимость для модуля  доставки kms пришлось умножать на 1000. Без умножения - хоть убейся не 32 рубля, например, а 0.032.

И как вынужденная мера - $kmspercent для всех других модулей установил текущий курс. Т.е. получается - делим на курс и затем на него же умножаем. Чёт тоже не получилось собрать 2 разных массива..... Хотя странно..

Теперь в считает для всех правильно. НО!

Когда оформляю заказ - то как клиент его вижу в списках, а как админ - ни одного.

Рекомендуете ли  ковырять /checkout_process.php ??

Link to post
Share on other sites

Не видите заказа в Админке - Покупатели - Заказы?!

Такое бывает когда какой-то из итоговых модулей отключаете в Админке - Модули - Итого.

Link to post
Share on other sites

хм.. вроде всё включено, что и было раньше

total.png

прчём, что любопытно: админка - заказы - поиск работает. Т.е. ищу заказ №9 и оно его находит. т.е. в БД есть, но на странице заказов - радио-молчание ))

Link to post
Share on other sites

работает. но в том-то и дело, что трогал только один массив.

можно ли где-то вывести sql ошибки? ну или прочую отладочную инфу?

Link to post
Share on other sites

Не знаю, наверное дело в значении value, что Вы правили.

Отладки как таковой нет, разве что в коде просто расставлять всякие echo.

Link to post
Share on other sites

value откатил на прежнее. суть в том, что в самой таблице заказов он есть. и по поиску ищется. а в общем списке не отображён

Link to post
Share on other sites

Ну я не знаю даже почему, наверное может есть смысл посмотреть в /admin/orders.php

Как формируется список заказов, как берутся итоговые суммы.

Link to post
Share on other sites
  • 10 months later...

Redme для kms-xt

  2) находим:

$quotes[$i]['methods'][$j]['price'] = $vamPrice->Format(vam_add­_tax($quotes[$i]['methods'][$j]['cost'], $quotes[$i]['tax']), true, 0, true);

вставляем:

//kms start

                    if ($quotes[$i]['methods'][$j]['self_html_cost']==true') {

                          $quotes[$i]['methods][$j]['price'] = $quotes[$i]['methods'][$j]['cost'];

                    };

//kms end

Что значит находим - вставляем? Вставляем после или заместо?

Link to post
Share on other sites
  • 1 year later...
krasivoesteklo

Сделай в модуле доставки "курьер" меню выбора:

Курьерская доставка:

внутри МКАД цена 1,

внутри ТТК цена 2,

внутри Садового цена 3

пусть покупатель сам определяет какую доставку он предпочитает: внутри МКАД, внутри ТТК, внутри Садового.

Для этого в методе quote нужно возвращать массив значений. Примеры - dhl, chp, fedex.

Возникла потребность вот в таком же функционале о котором говорит мистер ABerezin.

С 2008 года может появилось уже что то готовое? Или по прежнему надо переделовать Модуль курьерской доставки самому? Может кто кинет скриптик, а то тяжко самому такое делать - опыта нет ((

Link to post
Share on other sites
  • 6 months later...

Чтот совсем забыл, есть ли возможность делать разную стоимость доставки?

К примеру телефоны 300 р.

Телевизоры 600 р.

В область 600 р.

немного не логично, но сделать можно

1) нужен сам нормальный модуль расчет

2) к товарам нужно добавить колонку и id идентификаторами товара ну или использовать спецификации.

как бы тут ничего сложного для знающего SQL и php человека не будет

P.S еще пол года назад не думал что буду такие вещи писать, так как в php был 0 )))) :hehe:

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
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.


×
×
  • Create New...