#php #oscommerce #fedex
#php #oscommerce #fedex
Вопрос:
Итак, у нас проблема с использованием глупой доставки на основе товара, иначе говоря, пользователь добавляет товар в корзину (FedEx / USPS), и стоимость добавляется к доставке. Если в корзине находится X количество товаров, ставка увеличивается из-за того, что товары отправляются в конверте, а не в коробке. Это влечет за собой дополнительную плату за обслуживание в размере 20 долларов США. Я хотел бы добавить дополнительные 20 долларов к стоимости корзины, если выполнено X товаров, но у меня возникла проблема с добавлением этого в информацию о сеансе (и ее сохранением). Используя этот код, я могу добавить дополнительную стоимость к доставке:
# %install_dir%/catalog/checkout_shipping.php
$_SESSION['cart']->total = $_SESSION['cart']->total 20;
var_export($cart);
Это не отражается в моем модуле корзины покупок / боковой панели с текущим
однако цена. Помощь была бы оценена!
Комментарии:
1. Не хотите ли вы также где-нибудь сообщить клиенту, что с него взимается дополнительная плата в качестве позиции в их заказе?
Ответ №1:
Есть ли где-нибудь в этом скрипте «session_start()» перед этими строками?
session_start();
$_SESSION['cart']->total = 20;
Кроме того, вы можете не захотеть указывать это прямо в итоговой сумме. Я бы поместил это в переменную, связанную с доставкой, а также добавил бы к текущему итогу. Таким образом, вы можете быть уверены, что не добавите ее снова, если вы уже сделали это однажды! Нравится:
session_start();
if (!$_SESSION['cart']->shipping_extra) {
$_SESSION['cart']->shipping_extra = true;
$_SESSION['cart']->total = 20;
}
Также… # не рекомендуется, используйте // или /* !