LordBelial 0 Опубликовано 8 апреля, 2014 Автор Жалоба Share Опубликовано 8 апреля, 2014 В этом и дело, что не понял как его в метод place_order прикрутить. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 апреля, 2014 Жалоба Share Опубликовано 8 апреля, 2014 Наверное в place_order, в /app/Controller/OrdersController.php Перед строкой: // Save the order $this->Order->save($order); можно, для начала, попробовать добавить что-то типа: $order['Order']['shipping'] = 111; и смотреть, запишется ли в заказ доставка стоимостью 111. А затем уже править код, добавлять расчёт доставки, т.е. известен id номер выбранного модуля доставки, зная id модуля, можно расчёт получить. Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 8 апреля, 2014 Автор Жалоба Share Опубликовано 8 апреля, 2014 Да, данная конструкция записывает стоимость заказа в доставку. Но пока не могу сообразить как вывести стоимость доставки через id выбранного способа доставки. Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 8 апреля, 2014 Автор Жалоба Share Опубликовано 8 апреля, 2014 Получается, что id мы берём из таблицы shipping_methods , а стоимость надо взять из таблицы shipping_method_values Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 апреля, 2014 Жалоба Share Опубликовано 8 апреля, 2014 Смотрите /app/Controller/Component/OrderBaseComponent.php Метод get_order_shipping Там как раз выводится calculate метод, который и возвращает стоимость доставки. Вот по аналогии используйте calculate в OrdersController.php Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 апреля, 2014 Жалоба Share Опубликовано 8 апреля, 2014 Кстати, можно ещё попробовать в /app/Vendor/smarty/vam_plugins/function.checkout.php раскомментировать вот эти строки: // 'cost_plain' => $MethodBase->calculate(), // 'cost' => $CurrencyBase->display_price($MethodBase->calculate()) Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 8 апреля, 2014 Автор Жалоба Share Опубликовано 8 апреля, 2014 ещё вчера пробовал их раскоментировать не помогает :( и с /app/Controller/Component/OrderBaseComponent.php метод get_order_shipping не могу разобраться :( Как он берёт значение value из базы shipping_method_values ? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 апреля, 2014 Жалоба Share Опубликовано 8 апреля, 2014 Он выполняет код из метода calculate из файла модуля /app/Plugin/Shipping/Controller/ Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 апреля, 2014 Жалоба Share Опубликовано 8 апреля, 2014 В общем, глянул код. Доставка сохраняется именно на странице подтверждения. Что б сохранялась и без этой страницы. Попробуйте в /app/Controller/OrdersController.php после: public function place_order () { global $config; добавить: App::uses('PaymentMethodBaseComponent', 'Controller/Component'); $PaymentMethodBase =& new PaymentMethodBaseComponent(new ComponentCollection()); $PaymentMethodBase->save_customer_data(); Хотя конечно тоже не факт, что сработает. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 апреля, 2014 Жалоба Share Опубликовано 8 апреля, 2014 Да, проверил, вроде бы работает, т.е. доставку берёт именно ту, что была выбрана при оформлении заказа. Попробуйте. Все остальные правки можно удалить, главное только вот эту правку сделать. Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 8 апреля, 2014 Автор Жалоба Share Опубликовано 8 апреля, 2014 Да, сработало!!! Огромное спасибо! ;) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 8 апреля, 2014 Жалоба Share Опубликовано 8 апреля, 2014 Не за что. Добавил эту правку и в faq про удаление страницы подтверждения - http://vamshop.ru/forum/topic/12807-%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B1%D0%B5%D0%B7-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B-%D0%BF%D0%BE%D0%B4%D1%82%D0%B2%D0%B5%D1%80%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F/ Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения