+380(66)433-69-36 | |
+380(66)433-69-36 | |
+380(66)433-69-36 |
- BitLocker с GUI под linux
- Ищем вирус elTest
- Работаем с бесплатным SSL сертификатом Letsencrypt с помощью certbot
- Синхронизация ресурсов с удаленного сервера локально
- Применение нестандартного SEO и статус 404
- MySQL синхронизируем права с разных серверов
- IPSec VPN соединение между офисами.
- "Зеркало" сайта на стороне. Донастраиваем nginx
- Дефрагментация таблиц всех баз MySQL
- Месяц в родительном падеже strftime PHP
- INIT скрипт для Dropbox
- osCommerce VAM Edition 226. Ошибки
- PositiveSSL порядок сертификатов
- osCommerce. Создаем модуль доставки
- Восстановление mySQL баз данных
- osCommerce.Перенос магазина в другой домен
- osCommerce.Прячем адмику
- osCommerce. Продление жизни сессий
- osCommerce. Создаем платежный модуль
- 10 причин выбрать нас
- GRUB2 восстановление
- osCommerce не пересчитывает общую сумму заказа
- Список потенциально опасных скриптов
- Отправка файлов из Dropbox по e-mail
- "Черный список" почтовых доменов
- Боремся с назойливыми иностранцами
- Яндекс-Диск, и стоит ли им пользоваться.
- Обновление модуля Интеркассы для osCommerce
- Веб-почта на сайте хостинга
- Подключение Outlook Express к хостингу
Анатомия osCommerce (ot_shipping.php)
Модуль ot_shipping.php, находящийся по пути: /includes/modules/order_total/ интересен тем, что именно он отвечает за то, чтобы
обрадовать потенциального клиента "бесплатной доставкой". Есть одна особенность "родного" модуля - он поддерживает бесплатную
доставку товара в пределах страны магазина, при сумме покупки свыше определенного значения. Но как быть, когда есть необходимость сделать подобную "бесплатную доставку" в пределах города, в котором располагается магазин. Для этого модуль придется доработать следующим образом:
1. Строку 88 изменяем с:
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Бесплатная доставка для заказов', 'MODULE_ORDER_TOTAL_SHIPPING_DESTINATION', 'national', 'Укажите, для каких именно заказов будет действительна бесплатная доставка.', '6', '5', 'tep_cfg_select_option(array(\'national\', \'international\', \'both\'), ', now())");
на
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Бесплатная доставка для заказов', 'MODULE_ORDER_TOTAL_SHIPPING_DESTINATION', 'national', 'Укажите, для каких именно заказов будет действительна бесплатная доставка.', '6', '5', 'tep_cfg_select_option(array(\'national\', \'international\', \'both\',\'City\'), ', now())");
Как видим, здесь мы добавляем еще одну опцию в выбор режима бесплатной доставки: City.
Это нужно для того, чтобы иметь возможность использовать и все предыдущие опции модуля, и влиять на бесплатную доставку только в пределах города, если подобная возможность выбрана и инициализирована (В модуле разрешена бесплатная доставка и проставлен предел суммы бесплатной доставки.)
2. Необходимо "поймать" эту опцию и, проверив условие доставки соответственно дать отмашку на использование "бесплатной доставки".
Для этого перед "case 'national':" добавляем строку:
case 'City': $pass=$order->delivery['zone_id']==STORE_ZONE;break;
Таким образом, если город адреса доставки совпадает с городом магазина, то разрешается использование бесплатной доставки, а в дальнейшем проверится сумма заказа и примется решение о том, организовывать ли бесплатную доставку, доставив клиенту несколько приятных мгновений.