sashamaximiv Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 (змінено) Доброго времени суток. На странице оформления заказа, при выборе способа Самовывоз, у меня автоматом отметается скидка 10% вот таким способом: в файле: \catalog\model\extension\shipping\pickup.php добавлен код: $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); перед: $quote_data['pickup'] = array( полный код этого файла выглядит так: <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Вопрос: можно как то сделать проверку в этом файле, которая узнает активировал ли пользователь какой либо купон? чтобы можно было запихнуть код в условие: if (код активирован = да) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Как вы понимаете, если пользователь активировал какой либо купон, тогда нужно не применять скидку на самовывоз, и наоборот, если купон не применен, тогда активировать скидку 10% на самовывоз. Я не могу понять как можно сделать проверку на активацию купона, активирован какой то купон или нет... Змінено 11 червня 2020 користувачем sashamaximiv Надіслати Поділитися на інших сайтах More sharing options...
Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 9 минут назад, sashamaximiv сказал: Доброго времени суток. На странице оформления заказа, при выборе способа Самовывоз, у меня автоматом отметается скидка 10% вот таким способом: в файле: \catalog\model\extension\shipping\pickup.php добавлен код: перед: полный код этого файла выглядит так: Вопрос: можно как то сделать проверку в этом файле, которая узнает активировал ли пользователь какой либо купон? чтобы можно было запихнуть код в условие: if (код активирован = да) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Как вы понимаете, если пользователь активировал какой либо купон, тогда нужно не применять скидку на самовывоз, и наоборот, если купон не применен, тогда активировать скидку 10% на самовывоз. Я не могу понять как можно сделать проверку на активацию купона, активирован какой то купон или нет... Скорее всего нет. Поскольку если юсер не авторизировался и активировал купон то его зафиксить на сколько я понял нельзя если юсер не авторизирован. Нужно в настройках купона указать Авторизация покупателя Да, потом написать немножечко кода. По сути на неавторизированого пользователя проверку не сделаешь потому в купонал обязательно ели указать Авторизация покупателя Да. Я сделал небольшой тест и вот что вышло. Я в бд к таблице oc_coupon добавил поле user_id Далее в модели catalog/model/extension/total/coupon.php перед функцией getTotal добавил метод public function editCouponUser($coupon_id, $user_id) { $this->db->query("UPDATE `" . DB_PREFIX . "coupon` SET user_id = '" . (int)$user_id . "' WHERE coupon_id = '" . (int)$coupon_id . "' "); } Теперь нам нужно при активации купона приписывать юсера к нему Идем в файл catalog/controller/extension/total/coupon.php Находим метод function coupon Находим строки if (empty($this->request->post['coupon'])) { $json['error'] = $this->language->get('error_empty'); unset($this->session->data['coupon']); } elseif ($coupon_info) { И после них добавляем ///////////////////////////////////// if ($this->customer->isLogged()) { $this->model_extension_total_coupon->editCouponUser($coupon_info['coupon_id'], $this->customer->getId()); } ///////////////////////////////////////// Таким образом если юсер авторизирован то мы его зафиксим к купону Ну и теперь Сама проверка $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); if ($this->customer->isLogged()) { $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE user_id = '" . (int)$this->customer->getId() . "' "); if ($coupon_query->num_rows) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } } Что то вроде этого. )))) То есть мы можем осуществить проверку если у купона есть юсер, а он добавляется только если авторизирован, неавторизированого мы добавить никак не можем. Ну и собственно Если юсер авторизирован, делаем запрос в бд, если под ним есть хоть один купон то меняем сумму Ну, это так, тесты на скорую руку. Во всяком случае я не увидел чтобы к купону фикселся юсер 1 Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 $this->session->data['coupon'] если есть то не считайте скидку 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 4 часа назад, spectre сказал: $this->session->data['coupon'] если есть то не считайте скидку ДА???? А вы не в курсе что я вот активировал купон он записался в сессию, заказ оформил. Завтра на сайт пришел и что будет в сессии, ЧТО? Пусто! Правильно? Правильно! Тогда что вы будете проверять? Ведь по сути человек уже активировал хоть раз купон Потому для того чтобы знать ВООБЩЕ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ купон или нет для того нужно чтоб можно было его активировать авторизированым пользователям - это раз, второе проверку тоже проводить если авторизирован, потому как у не авторизированого ничего в данных сайта нет как только он пришел на сайт. Момент еще такой, если откинуть авторизацию то можно реализовать на куках Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 21 минуту назад, Venter сказал: ДА???? А вы не в курсе что я вот активировал купон он записался в сессию, заказ оформил. Завтра на сайт пришел и что будет в сессии, ЧТО? Пусто! Правильно? Правильно! Тогда что вы будете проверять? Ведь по сути человек уже активировал хоть раз купон Потому для того чтобы знать ВООБЩЕ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ купон или нет для того нужно чтоб можно было его активировать авторизированым пользователям - это раз, второе проверку тоже проводить если авторизирован, потому как у не авторизированого ничего в данных сайта нет как только он пришел на сайт. Момент еще такой, если откинуть авторизацию то можно реализовать на куках мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 Можно реализовать на куках, но нужно понимать что их можно чистить или зайти с другого браузера В общем реализация на куках В файле catalog/controller/extension/total/coupon.php после строк $coupon_info = $this->model_extension_total_coupon->getCoupon($coupon); if (empty($this->request->post['coupon'])) { $json['error'] = $this->language->get('error_empty'); unset($this->session->data['coupon']); } elseif ($coupon_info) { $this->session->data['coupon'] = $this->request->post['coupon']; $this->session->data['success'] = $this->language->get('text_success'); Пишем ///////////////////////////////////// // Устанавливаем куки на 360 дней setcookie('set_coupon', $coupon_info['coupon_id'], time() + 3600 * 24 * 360, '/'); setcookie('set_coupon_code', $this->session->data['coupon'], time() + 3600 * 24 * 360, '/'); ///////////////////////////////////////// Далее простая проверка // Если юсер хоть раз активировал купон if (isset($this->request->cookie['set_coupon']) && isset($this->request->cookie['set_coupon_code'])) { // Что то делаем } В $this->request->cookie['set_coupon'] ID купона В $this->request->cookie['set_coupon_code'] Название купона. В общем какого то универсального средства по тому поводу нет если юсер не авторизирован. Даже если писать в куки, то при смене браузера или компа юсер будет считаться при таком подходе новым пользователем 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 17 минут назад, spectre сказал: мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Хорошо. Я вас тоже понял, вашу логику. Тады дождемся ТС и он сам скажет что к чему. И вам спасибо за ответы по теме Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 Venter, спасибо за такой подробный ответ. Но мне нужно чтобы это условие действовало только при каждой сессии отдельно. Т.е. попал в корзину, ввел купон, оформил заказ и все, после этого информация о том что человек активировал купон будет удалятся. И если он опять зайдет в корзину но не введет купон, то на странице оформления заказа скидка на самовывоз будет опять -10%. А если введет код, тогда скидки на самовывоз не будет. Ну вы понимаете. Во всяком случае благодарю за такой подробный ответ. Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 (змінено) 12 часов назад, spectre сказал: он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Именно это) Спасибо и вам spectre за идею) я так понимаю нужно сделать в контроллере самовывоза так: Цитата $statuscoupon = $this->session->data['coupon']; а дальше обернуть в условие: Цитата if ($statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Змінено 12 червня 2020 користувачем sashamaximiv Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 червня 2020 Share Опубліковано: 12 червня 2020 статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд 1 Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 6 часов назад, spectre сказал: статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд да, вы правы. проще сделать так уже: if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } а можно поподробнее на счет isset? Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 13 червня 2020 Автор Share Опубліковано: 13 червня 2020 Огромное спасибо spectre. решение помогло идеально. Прикрепляю полный код если кому надо: файл: /catalog/model/extension/shipping/pickup.php <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE code = '" . $this->db->escape($code) . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) AND status = '1'"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $statuscoupon = $this->session->data['coupon']; if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації seo Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 6 838 переглядів Sha 25 квітня 2020 seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 955 переглядів Sha 18 січня 2022 Отключение скидок при применении купона Автор: Allaur, 25 червня купон скидка 7 відповідей 424 перегляди Allaur 2 липня coupon [Поддержка] Скидки - купон за отзыв Автор: chukcha, 24 травня 2019 review отзыв (і ще %d) Теги: review отзыв купон 11 відповідей 2 787 переглядів chukcha 19 жовтня 2023 Модуль Скидка по купону в зависимости от суммы заказа 2.x-3.x ||| Coupon Gradation 2.x-3.x [Поддержка] Автор: spectre, 21 листопада 2018 купон сумма (і ще %d) Теги: купон сумма скидка зависимость купона от суммы проценты 1 відповідь 1 178 переглядів nitynitro 14 червня 2019 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Проверка - активирован ли купон Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
spectre Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 $this->session->data['coupon'] если есть то не считайте скидку 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 4 часа назад, spectre сказал: $this->session->data['coupon'] если есть то не считайте скидку ДА???? А вы не в курсе что я вот активировал купон он записался в сессию, заказ оформил. Завтра на сайт пришел и что будет в сессии, ЧТО? Пусто! Правильно? Правильно! Тогда что вы будете проверять? Ведь по сути человек уже активировал хоть раз купон Потому для того чтобы знать ВООБЩЕ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ купон или нет для того нужно чтоб можно было его активировать авторизированым пользователям - это раз, второе проверку тоже проводить если авторизирован, потому как у не авторизированого ничего в данных сайта нет как только он пришел на сайт. Момент еще такой, если откинуть авторизацию то можно реализовать на куках Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 21 минуту назад, Venter сказал: ДА???? А вы не в курсе что я вот активировал купон он записался в сессию, заказ оформил. Завтра на сайт пришел и что будет в сессии, ЧТО? Пусто! Правильно? Правильно! Тогда что вы будете проверять? Ведь по сути человек уже активировал хоть раз купон Потому для того чтобы знать ВООБЩЕ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ купон или нет для того нужно чтоб можно было его активировать авторизированым пользователям - это раз, второе проверку тоже проводить если авторизирован, потому как у не авторизированого ничего в данных сайта нет как только он пришел на сайт. Момент еще такой, если откинуть авторизацию то можно реализовать на куках мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 Можно реализовать на куках, но нужно понимать что их можно чистить или зайти с другого браузера В общем реализация на куках В файле catalog/controller/extension/total/coupon.php после строк $coupon_info = $this->model_extension_total_coupon->getCoupon($coupon); if (empty($this->request->post['coupon'])) { $json['error'] = $this->language->get('error_empty'); unset($this->session->data['coupon']); } elseif ($coupon_info) { $this->session->data['coupon'] = $this->request->post['coupon']; $this->session->data['success'] = $this->language->get('text_success'); Пишем ///////////////////////////////////// // Устанавливаем куки на 360 дней setcookie('set_coupon', $coupon_info['coupon_id'], time() + 3600 * 24 * 360, '/'); setcookie('set_coupon_code', $this->session->data['coupon'], time() + 3600 * 24 * 360, '/'); ///////////////////////////////////////// Далее простая проверка // Если юсер хоть раз активировал купон if (isset($this->request->cookie['set_coupon']) && isset($this->request->cookie['set_coupon_code'])) { // Что то делаем } В $this->request->cookie['set_coupon'] ID купона В $this->request->cookie['set_coupon_code'] Название купона. В общем какого то универсального средства по тому поводу нет если юсер не авторизирован. Даже если писать в куки, то при смене браузера или компа юсер будет считаться при таком подходе новым пользователем 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 17 минут назад, spectre сказал: мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Хорошо. Я вас тоже понял, вашу логику. Тады дождемся ТС и он сам скажет что к чему. И вам спасибо за ответы по теме Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 Venter, спасибо за такой подробный ответ. Но мне нужно чтобы это условие действовало только при каждой сессии отдельно. Т.е. попал в корзину, ввел купон, оформил заказ и все, после этого информация о том что человек активировал купон будет удалятся. И если он опять зайдет в корзину но не введет купон, то на странице оформления заказа скидка на самовывоз будет опять -10%. А если введет код, тогда скидки на самовывоз не будет. Ну вы понимаете. Во всяком случае благодарю за такой подробный ответ. Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 (змінено) 12 часов назад, spectre сказал: он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Именно это) Спасибо и вам spectre за идею) я так понимаю нужно сделать в контроллере самовывоза так: Цитата $statuscoupon = $this->session->data['coupon']; а дальше обернуть в условие: Цитата if ($statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Змінено 12 червня 2020 користувачем sashamaximiv Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 червня 2020 Share Опубліковано: 12 червня 2020 статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд 1 Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 6 часов назад, spectre сказал: статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд да, вы правы. проще сделать так уже: if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } а можно поподробнее на счет isset? Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 13 червня 2020 Автор Share Опубліковано: 13 червня 2020 Огромное спасибо spectre. решение помогло идеально. Прикрепляю полный код если кому надо: файл: /catalog/model/extension/shipping/pickup.php <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE code = '" . $this->db->escape($code) . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) AND status = '1'"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $statuscoupon = $this->session->data['coupon']; if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації seo Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 6 838 переглядів Sha 25 квітня 2020 seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 955 переглядів Sha 18 січня 2022 Отключение скидок при применении купона Автор: Allaur, 25 червня купон скидка 7 відповідей 424 перегляди Allaur 2 липня coupon [Поддержка] Скидки - купон за отзыв Автор: chukcha, 24 травня 2019 review отзыв (і ще %d) Теги: review отзыв купон 11 відповідей 2 787 переглядів chukcha 19 жовтня 2023 Модуль Скидка по купону в зависимости от суммы заказа 2.x-3.x ||| Coupon Gradation 2.x-3.x [Поддержка] Автор: spectre, 21 листопада 2018 купон сумма (і ще %d) Теги: купон сумма скидка зависимость купона от суммы проценты 1 відповідь 1 178 переглядів nitynitro 14 червня 2019 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Проверка - активирован ли купон Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 4 часа назад, spectre сказал: $this->session->data['coupon'] если есть то не считайте скидку ДА???? А вы не в курсе что я вот активировал купон он записался в сессию, заказ оформил. Завтра на сайт пришел и что будет в сессии, ЧТО? Пусто! Правильно? Правильно! Тогда что вы будете проверять? Ведь по сути человек уже активировал хоть раз купон Потому для того чтобы знать ВООБЩЕ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ купон или нет для того нужно чтоб можно было его активировать авторизированым пользователям - это раз, второе проверку тоже проводить если авторизирован, потому как у не авторизированого ничего в данных сайта нет как только он пришел на сайт. Момент еще такой, если откинуть авторизацию то можно реализовать на куках Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 21 минуту назад, Venter сказал: ДА???? А вы не в курсе что я вот активировал купон он записался в сессию, заказ оформил. Завтра на сайт пришел и что будет в сессии, ЧТО? Пусто! Правильно? Правильно! Тогда что вы будете проверять? Ведь по сути человек уже активировал хоть раз купон Потому для того чтобы знать ВООБЩЕ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ купон или нет для того нужно чтоб можно было его активировать авторизированым пользователям - это раз, второе проверку тоже проводить если авторизирован, потому как у не авторизированого ничего в данных сайта нет как только он пришел на сайт. Момент еще такой, если откинуть авторизацию то можно реализовать на куках мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 Можно реализовать на куках, но нужно понимать что их можно чистить или зайти с другого браузера В общем реализация на куках В файле catalog/controller/extension/total/coupon.php после строк $coupon_info = $this->model_extension_total_coupon->getCoupon($coupon); if (empty($this->request->post['coupon'])) { $json['error'] = $this->language->get('error_empty'); unset($this->session->data['coupon']); } elseif ($coupon_info) { $this->session->data['coupon'] = $this->request->post['coupon']; $this->session->data['success'] = $this->language->get('text_success'); Пишем ///////////////////////////////////// // Устанавливаем куки на 360 дней setcookie('set_coupon', $coupon_info['coupon_id'], time() + 3600 * 24 * 360, '/'); setcookie('set_coupon_code', $this->session->data['coupon'], time() + 3600 * 24 * 360, '/'); ///////////////////////////////////////// Далее простая проверка // Если юсер хоть раз активировал купон if (isset($this->request->cookie['set_coupon']) && isset($this->request->cookie['set_coupon_code'])) { // Что то делаем } В $this->request->cookie['set_coupon'] ID купона В $this->request->cookie['set_coupon_code'] Название купона. В общем какого то универсального средства по тому поводу нет если юсер не авторизирован. Даже если писать в куки, то при смене браузера или компа юсер будет считаться при таком подходе новым пользователем 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 17 минут назад, spectre сказал: мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Хорошо. Я вас тоже понял, вашу логику. Тады дождемся ТС и он сам скажет что к чему. И вам спасибо за ответы по теме Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 Venter, спасибо за такой подробный ответ. Но мне нужно чтобы это условие действовало только при каждой сессии отдельно. Т.е. попал в корзину, ввел купон, оформил заказ и все, после этого информация о том что человек активировал купон будет удалятся. И если он опять зайдет в корзину но не введет купон, то на странице оформления заказа скидка на самовывоз будет опять -10%. А если введет код, тогда скидки на самовывоз не будет. Ну вы понимаете. Во всяком случае благодарю за такой подробный ответ. Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 (змінено) 12 часов назад, spectre сказал: он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Именно это) Спасибо и вам spectre за идею) я так понимаю нужно сделать в контроллере самовывоза так: Цитата $statuscoupon = $this->session->data['coupon']; а дальше обернуть в условие: Цитата if ($statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Змінено 12 червня 2020 користувачем sashamaximiv Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 червня 2020 Share Опубліковано: 12 червня 2020 статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд 1 Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 6 часов назад, spectre сказал: статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд да, вы правы. проще сделать так уже: if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } а можно поподробнее на счет isset? Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 13 червня 2020 Автор Share Опубліковано: 13 червня 2020 Огромное спасибо spectre. решение помогло идеально. Прикрепляю полный код если кому надо: файл: /catalog/model/extension/shipping/pickup.php <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE code = '" . $this->db->escape($code) . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) AND status = '1'"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $statuscoupon = $this->session->data['coupon']; if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації seo Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 6 838 переглядів Sha 25 квітня 2020 seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 955 переглядів Sha 18 січня 2022 Отключение скидок при применении купона Автор: Allaur, 25 червня купон скидка 7 відповідей 424 перегляди Allaur 2 липня coupon [Поддержка] Скидки - купон за отзыв Автор: chukcha, 24 травня 2019 review отзыв (і ще %d) Теги: review отзыв купон 11 відповідей 2 787 переглядів chukcha 19 жовтня 2023 Модуль Скидка по купону в зависимости от суммы заказа 2.x-3.x ||| Coupon Gradation 2.x-3.x [Поддержка] Автор: spectre, 21 листопада 2018 купон сумма (і ще %d) Теги: купон сумма скидка зависимость купона от суммы проценты 1 відповідь 1 178 переглядів nitynitro 14 червня 2019 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Проверка - активирован ли купон Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
spectre Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 21 минуту назад, Venter сказал: ДА???? А вы не в курсе что я вот активировал купон он записался в сессию, заказ оформил. Завтра на сайт пришел и что будет в сессии, ЧТО? Пусто! Правильно? Правильно! Тогда что вы будете проверять? Ведь по сути человек уже активировал хоть раз купон Потому для того чтобы знать ВООБЩЕ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ купон или нет для того нужно чтоб можно было его активировать авторизированым пользователям - это раз, второе проверку тоже проводить если авторизирован, потому как у не авторизированого ничего в данных сайта нет как только он пришел на сайт. Момент еще такой, если откинуть авторизацию то можно реализовать на куках мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 Можно реализовать на куках, но нужно понимать что их можно чистить или зайти с другого браузера В общем реализация на куках В файле catalog/controller/extension/total/coupon.php после строк $coupon_info = $this->model_extension_total_coupon->getCoupon($coupon); if (empty($this->request->post['coupon'])) { $json['error'] = $this->language->get('error_empty'); unset($this->session->data['coupon']); } elseif ($coupon_info) { $this->session->data['coupon'] = $this->request->post['coupon']; $this->session->data['success'] = $this->language->get('text_success'); Пишем ///////////////////////////////////// // Устанавливаем куки на 360 дней setcookie('set_coupon', $coupon_info['coupon_id'], time() + 3600 * 24 * 360, '/'); setcookie('set_coupon_code', $this->session->data['coupon'], time() + 3600 * 24 * 360, '/'); ///////////////////////////////////////// Далее простая проверка // Если юсер хоть раз активировал купон if (isset($this->request->cookie['set_coupon']) && isset($this->request->cookie['set_coupon_code'])) { // Что то делаем } В $this->request->cookie['set_coupon'] ID купона В $this->request->cookie['set_coupon_code'] Название купона. В общем какого то универсального средства по тому поводу нет если юсер не авторизирован. Даже если писать в куки, то при смене браузера или компа юсер будет считаться при таком подходе новым пользователем 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 17 минут назад, spectre сказал: мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Хорошо. Я вас тоже понял, вашу логику. Тады дождемся ТС и он сам скажет что к чему. И вам спасибо за ответы по теме Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 Venter, спасибо за такой подробный ответ. Но мне нужно чтобы это условие действовало только при каждой сессии отдельно. Т.е. попал в корзину, ввел купон, оформил заказ и все, после этого информация о том что человек активировал купон будет удалятся. И если он опять зайдет в корзину но не введет купон, то на странице оформления заказа скидка на самовывоз будет опять -10%. А если введет код, тогда скидки на самовывоз не будет. Ну вы понимаете. Во всяком случае благодарю за такой подробный ответ. Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 (змінено) 12 часов назад, spectre сказал: он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Именно это) Спасибо и вам spectre за идею) я так понимаю нужно сделать в контроллере самовывоза так: Цитата $statuscoupon = $this->session->data['coupon']; а дальше обернуть в условие: Цитата if ($statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Змінено 12 червня 2020 користувачем sashamaximiv Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 червня 2020 Share Опубліковано: 12 червня 2020 статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд 1 Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 6 часов назад, spectre сказал: статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд да, вы правы. проще сделать так уже: if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } а можно поподробнее на счет isset? Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 13 червня 2020 Автор Share Опубліковано: 13 червня 2020 Огромное спасибо spectre. решение помогло идеально. Прикрепляю полный код если кому надо: файл: /catalog/model/extension/shipping/pickup.php <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE code = '" . $this->db->escape($code) . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) AND status = '1'"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $statuscoupon = $this->session->data['coupon']; if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації seo Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 6 838 переглядів Sha 25 квітня 2020 seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 955 переглядів Sha 18 січня 2022 Отключение скидок при применении купона Автор: Allaur, 25 червня купон скидка 7 відповідей 424 перегляди Allaur 2 липня coupon [Поддержка] Скидки - купон за отзыв Автор: chukcha, 24 травня 2019 review отзыв (і ще %d) Теги: review отзыв купон 11 відповідей 2 787 переглядів chukcha 19 жовтня 2023 Модуль Скидка по купону в зависимости от суммы заказа 2.x-3.x ||| Coupon Gradation 2.x-3.x [Поддержка] Автор: spectre, 21 листопада 2018 купон сумма (і ще %d) Теги: купон сумма скидка зависимость купона от суммы проценты 1 відповідь 1 178 переглядів nitynitro 14 червня 2019 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Проверка - активирован ли купон Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 Можно реализовать на куках, но нужно понимать что их можно чистить или зайти с другого браузера В общем реализация на куках В файле catalog/controller/extension/total/coupon.php после строк $coupon_info = $this->model_extension_total_coupon->getCoupon($coupon); if (empty($this->request->post['coupon'])) { $json['error'] = $this->language->get('error_empty'); unset($this->session->data['coupon']); } elseif ($coupon_info) { $this->session->data['coupon'] = $this->request->post['coupon']; $this->session->data['success'] = $this->language->get('text_success'); Пишем ///////////////////////////////////// // Устанавливаем куки на 360 дней setcookie('set_coupon', $coupon_info['coupon_id'], time() + 3600 * 24 * 360, '/'); setcookie('set_coupon_code', $this->session->data['coupon'], time() + 3600 * 24 * 360, '/'); ///////////////////////////////////////// Далее простая проверка // Если юсер хоть раз активировал купон if (isset($this->request->cookie['set_coupon']) && isset($this->request->cookie['set_coupon_code'])) { // Что то делаем } В $this->request->cookie['set_coupon'] ID купона В $this->request->cookie['set_coupon_code'] Название купона. В общем какого то универсального средства по тому поводу нет если юсер не авторизирован. Даже если писать в куки, то при смене браузера или компа юсер будет считаться при таком подходе новым пользователем 1 Надіслати Поділитися на інших сайтах More sharing options... Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 17 минут назад, spectre сказал: мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Хорошо. Я вас тоже понял, вашу логику. Тады дождемся ТС и он сам скажет что к чему. И вам спасибо за ответы по теме Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 Venter, спасибо за такой подробный ответ. Но мне нужно чтобы это условие действовало только при каждой сессии отдельно. Т.е. попал в корзину, ввел купон, оформил заказ и все, после этого информация о том что человек активировал купон будет удалятся. И если он опять зайдет в корзину но не введет купон, то на странице оформления заказа скидка на самовывоз будет опять -10%. А если введет код, тогда скидки на самовывоз не будет. Ну вы понимаете. Во всяком случае благодарю за такой подробный ответ. Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 (змінено) 12 часов назад, spectre сказал: он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Именно это) Спасибо и вам spectre за идею) я так понимаю нужно сделать в контроллере самовывоза так: Цитата $statuscoupon = $this->session->data['coupon']; а дальше обернуть в условие: Цитата if ($statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Змінено 12 червня 2020 користувачем sashamaximiv Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 червня 2020 Share Опубліковано: 12 червня 2020 статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд 1 Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 6 часов назад, spectre сказал: статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд да, вы правы. проще сделать так уже: if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } а можно поподробнее на счет isset? Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 13 червня 2020 Автор Share Опубліковано: 13 червня 2020 Огромное спасибо spectre. решение помогло идеально. Прикрепляю полный код если кому надо: файл: /catalog/model/extension/shipping/pickup.php <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE code = '" . $this->db->escape($code) . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) AND status = '1'"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $statuscoupon = $this->session->data['coupon']; if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації seo Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 6 838 переглядів Sha 25 квітня 2020 seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 955 переглядів Sha 18 січня 2022 Отключение скидок при применении купона Автор: Allaur, 25 червня купон скидка 7 відповідей 424 перегляди Allaur 2 липня coupon [Поддержка] Скидки - купон за отзыв Автор: chukcha, 24 травня 2019 review отзыв (і ще %d) Теги: review отзыв купон 11 відповідей 2 787 переглядів chukcha 19 жовтня 2023 Модуль Скидка по купону в зависимости от суммы заказа 2.x-3.x ||| Coupon Gradation 2.x-3.x [Поддержка] Автор: spectre, 21 листопада 2018 купон сумма (і ще %d) Теги: купон сумма скидка зависимость купона от суммы проценты 1 відповідь 1 178 переглядів nitynitro 14 червня 2019 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Проверка - активирован ли купон
Venter Опубліковано: 11 червня 2020 Share Опубліковано: 11 червня 2020 17 минут назад, spectre сказал: мне непонятна ваша логика и где автор просил условие ЧТОБЫ ЮСЕР ХОТЬ РАЗ АКТИВИРОВАЛ КУПОН???!!! он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Хорошо. Я вас тоже понял, вашу логику. Тады дождемся ТС и он сам скажет что к чему. И вам спасибо за ответы по теме Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 Venter, спасибо за такой подробный ответ. Но мне нужно чтобы это условие действовало только при каждой сессии отдельно. Т.е. попал в корзину, ввел купон, оформил заказ и все, после этого информация о том что человек активировал купон будет удалятся. И если он опять зайдет в корзину но не введет купон, то на странице оформления заказа скидка на самовывоз будет опять -10%. А если введет код, тогда скидки на самовывоз не будет. Ну вы понимаете. Во всяком случае благодарю за такой подробный ответ. Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 (змінено) 12 часов назад, spectre сказал: он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Именно это) Спасибо и вам spectre за идею) я так понимаю нужно сделать в контроллере самовывоза так: Цитата $statuscoupon = $this->session->data['coupon']; а дальше обернуть в условие: Цитата if ($statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Змінено 12 червня 2020 користувачем sashamaximiv Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 червня 2020 Share Опубліковано: 12 червня 2020 статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд 1 Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 6 часов назад, spectre сказал: статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд да, вы правы. проще сделать так уже: if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } а можно поподробнее на счет isset? Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 13 червня 2020 Автор Share Опубліковано: 13 червня 2020 Огромное спасибо spectre. решение помогло идеально. Прикрепляю полный код если кому надо: файл: /catalog/model/extension/shipping/pickup.php <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE code = '" . $this->db->escape($code) . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) AND status = '1'"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $statuscoupon = $this->session->data['coupon']; if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Схожі публікації seo Route board - Профілювання, помічник в оптимізації сайту! Автор: Sha, 24 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 0 коментарів 6 838 переглядів Sha 25 квітня 2020 seo [Поддержка] Автор: Sha, 25 квітня 2020 free profiler (і ще %d) Теги: free profiler без гмо debug board route system audit helper help time оптимизация попугаи скорость ускоритель модуль список timeline debuger прочее module график charts page google speed speeder дополнения модули расширения аудит техническая проверка сайта быстрый opencart быстрый 100% debugger профілювання профиль профилирование 18 відповідей 2 955 переглядів Sha 18 січня 2022 Отключение скидок при применении купона Автор: Allaur, 25 червня купон скидка 7 відповідей 424 перегляди Allaur 2 липня coupon [Поддержка] Скидки - купон за отзыв Автор: chukcha, 24 травня 2019 review отзыв (і ще %d) Теги: review отзыв купон 11 відповідей 2 787 переглядів chukcha 19 жовтня 2023 Модуль Скидка по купону в зависимости от суммы заказа 2.x-3.x ||| Coupon Gradation 2.x-3.x [Поддержка] Автор: spectre, 21 листопада 2018 купон сумма (і ще %d) Теги: купон сумма скидка зависимость купона от суммы проценты 1 відповідь 1 178 переглядів nitynitro 14 червня 2019 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 Venter, спасибо за такой подробный ответ. Но мне нужно чтобы это условие действовало только при каждой сессии отдельно. Т.е. попал в корзину, ввел купон, оформил заказ и все, после этого информация о том что человек активировал купон будет удалятся. И если он опять зайдет в корзину но не введет купон, то на странице оформления заказа скидка на самовывоз будет опять -10%. А если введет код, тогда скидки на самовывоз не будет. Ну вы понимаете. Во всяком случае благодарю за такой подробный ответ. Надіслати Поділитися на інших сайтах More sharing options...
sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 (змінено) 12 часов назад, spectre сказал: он хочет просто чтоб не было скидки на самовывоз с купоном и ВСЕ!!! Именно это) Спасибо и вам spectre за идею) я так понимаю нужно сделать в контроллере самовывоза так: Цитата $statuscoupon = $this->session->data['coupon']; а дальше обернуть в условие: Цитата if ($statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal()); } else { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } Змінено 12 червня 2020 користувачем sashamaximiv Надіслати Поділитися на інших сайтах More sharing options...
spectre Опубліковано: 12 червня 2020 Share Опубліковано: 12 червня 2020 статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд 1 Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 6 часов назад, spectre сказал: статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд да, вы правы. проще сделать так уже: if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } а можно поподробнее на счет isset? Надіслати Поділитися на інших сайтах More sharing options... sashamaximiv Опубліковано: 13 червня 2020 Автор Share Опубліковано: 13 червня 2020 Огромное спасибо spectre. решение помогло идеально. Прикрепляю полный код если кому надо: файл: /catalog/model/extension/shipping/pickup.php <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE code = '" . $this->db->escape($code) . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) AND status = '1'"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $statuscoupon = $this->session->data['coupon']; if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1
sashamaximiv Опубліковано: 12 червня 2020 Автор Share Опубліковано: 12 червня 2020 6 часов назад, spectre сказал: статус надо проверять как isset и почему в 1 условии не написать просто 0 а во втором *0.1 это ж все запросы к бд да, вы правы. проще сделать так уже: if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } а можно поподробнее на счет isset? Надіслати Поділитися на інших сайтах More sharing options...
sashamaximiv Опубліковано: 13 червня 2020 Автор Share Опубліковано: 13 червня 2020 Огромное спасибо spectre. решение помогло идеально. Прикрепляю полный код если кому надо: файл: /catalog/model/extension/shipping/pickup.php <?php class ModelExtensionShippingPickup extends Model { function getQuote($address) { $this->load->language('extension/shipping/pickup'); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('pickup_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')"); $coupon_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coupon` WHERE code = '" . $this->db->escape($code) . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) AND status = '1'"); if (!$this->config->get('pickup_geo_zone_id')) { $status = true; } elseif ($query->num_rows) { $status = true; } else { $status = false; } $method_data = array(); if ($status) { $quote_data = array(); $statuscoupon = $this->session->data['coupon']; if (!$statuscoupon) { $cost = $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9); } $quote_data['pickup'] = array( 'code' => 'pickup.pickup', 'title' => $this->language->get('text_description'), 'cost' => -$cost, 'tax_class_id' => $this->config->get('total_shipping_tax_class_id'), 'text' => '( - ' . $this->currency->format($cost, $this->session->data['currency']) . ')', ); $method_data = array( 'code' => 'pickup', 'title' => $this->language->get('text_title'), 'quote' => $quote_data, 'sort_order' => $this->config->get('pickup_sort_order'), 'error' => false ); } return $method_data; } } Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts