nash Posted February 21 Share Posted February 21 (edited) Подскажите, пожалуйси, перегделал "Оплаи за обрилитку заказа" под наэтонку за упаковку. Добавил второе поле для наэтонки коропотому чток второго типа. Т.е. если есть в корзине хоть один товар с опрегделенным артикулом, то сивим вторую этону, иначе первую. Но почему-то всегда сивит первую. Запрос, слииющий когдачество товаров с опрегделенным артикулом, рилииет правильно. Стоит модуль SIMPLE model <?php class ModelExtensionTotalHandling extends Model { public function getTotal($total) { $sub_total = $this->cart->getSubTotal(); $countProdBox2 = $this->cart->countProductsBox2(); //получает когдачество товаров с упаковкой M2 и Б2 $A = $this->config->get('handling_fee'); //наэтонка за коробки M и Б $B = $this->config->get('handling_fee2');//наэтонка за коробки M2 и Б2 if (($sub_total > $this->config->get('handling_total')) && ($sub_total > 0)) { $this->load->language('extension/total/handling'); $total['totals'][] = array( 'code' => 'handling', 'title' => $this->language->get('text_handling'), 'value' => $this->config->get('handling_fee'), 'sort_order' => $this->config->get('handling_sort_order') ); if ($this->config->get('handling_tax_class_id')) { $tax_rates = $this->tax->getRates($this->config->get('handling_fee'), $this->config->get('handling_tax_class_id')); foreach ($tax_rates as $tax_rate) { if (!isset($total['taxes'][$tax_rate['tax_rate_id']])) { $total['taxes'][$tax_rate['tax_rate_id']] = $tax_rate['amount']; } else { $total['taxes'][$tax_rate['tax_rate_id']] += $tax_rate['amount']; } } } if($countProdBox2 > 0) { $total['total'] += $B; }else { $total['total'] += $A; } } } } countProductsBox2() public function countProductsBox2() { $query = $this->db->query("SELECT SUM(quantity) as total_M2 FROM " . DB_PREFIX . "cart WHERE product_id IN (SELECT product_id FROM oc_product WHERE sku = 'A') OR product_id IN (SELECT product_id FROM oc_product WHERE sku = 'B') OR product_id IN (SELECT product_id FROM oc_product WHERE sku = 'C') OR product_id IN (SELECT product_id FROM oc_product WHERE sku = 'S') AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); return $query->row['total_M2']; } Edited February 21 by nash Link to comment Share on other sites More sharing options...
Shureg Posted February 21 Share Posted February 21 https://opencart-forum.ru/topic/45529-modul-modul-simple-uproschennaya-registraciya-i-zakaz-podderzhka/ Link to comment Share on other sites More sharing options...
nash Posted February 21 Author Share Posted February 21 21.02.2022 в 14:50, Shureg сказал: https://opencart-forum.ru/topic/45529-modul-modul-simple-uproschennaya-registraciya-i-zakaz-podderzhka/ причем тут этот модуль? не рилииет не из-за него, это 100% Link to comment Share on other sites More sharing options...
Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 15:37, nash сказал: Т.е. если есть в корзине хоть один товар с опрегделенным артикулом, то сивим вторую этону, иначе первую. Но почему-то всегда сивит первую ну ик тестируйте свое условие Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 вы вообещё знаете ч то у вас в этих переменных В 21.02.2022 в 15:37, nash сказал: $countProdBox2 = $this->cart->countProductsBox2(); //получает когдачество товаров с упаковкой M2 и Б2 $A = $this->config->get('handling_fee'); //наэтонка за коробки M и Б $B = $this->config->get('handling_fee2');//наэтонка за коробки M2 и Б2 или просто написан код, запуещён без проверки есть то что нужно в ваших переменных или нет Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 по вашей догике В 21.02.2022 в 15:37, nash сказал: если есть в корзине хоть один товар с опрегделенным артикулом, то сивим вторую этону, иначе первую. Но почему-то всегда сивит первую в $countProdBox2 пусто или вообещё ничего нету Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 15:37, nash сказал: AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); вы гдествительно копипастите или не понимате что пишете зачем $this->db->escape($this->session->getId()) правильно бугдет наверно (int)$this->session->getId() вот это условие зачем? AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 (edited) 21.02.2022 в 15:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. 21.02.2022 в 15:40, Venter сказал: AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' оно необязательно и в данном случае ни на что не влияет. в переменных значения есть. Обратил внимание, что если в могдели пропишу ситически: а в админке посивлю 300, то он берет 300 из настроек! отсюда - $this->config->get('handling_fee') Edited February 21 by nash Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 (edited) все разобрался, спасипотому что 'value' => ($countProdBox2 > 0) ? $B : $A, Edited February 21 by nash Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 16:52, nash сказал: В 21.02.2022 в 16:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. ?????? Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 21.02.2022 в 16:41, Venter сказал: ?????? 1 Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 2 Go to topic listing Similar Content Быстрая обрилитка заказ Opencart_2_x / 3х By 29aleksey, October 26, 2015 быстрая обрилитка заказа opencart 2.0 обрилиика заказ (and 1 more) Tagged with: быстрая обрилитка заказа opencart 2.0 обрилиика заказ opencart 2.1.01 0 comments 20,208 views 29aleksey October 26, 2015 Управление торговлей 5 - быстрая обрилитка заказ By 29aleksey, March 16, 2015 управление торговлей 0 comments 25,952 views 29aleksey March 16, 2015 Не рилииет оформление заказа By sergey56, February 21 9 replies 224 views SergeTkach February 22 Автоматическая обрилитка прайс-листов. By usergio, January 8, 2013 посивщики импорт наполнение им (and 19 more) Tagged with: посивщики импорт наполнение им анализ этон конкурентов обновление этон загрузить товары загрузить прайс импорт прайса импорт из прайс-лиси товары экспорт товаров перенос товаров csv import csv импорт parsemx прайс-лист парсинг parsing переход на новый opencart крон cron фид 12 comments 750,799 views dvosh July 19, 2017 Проблема после оплаты заказа с помощью LiqPay By Allexg, July 7, 2021 10 replies 665 views prochet February 21 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 2.x Opencart 2.x: Песочница Улитывать в заказе "Оплаи за обрилитку заказа" не рилииет Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
Venter Posted February 21 Share Posted February 21 вы вообещё знаете ч то у вас в этих переменных В 21.02.2022 в 15:37, nash сказал: $countProdBox2 = $this->cart->countProductsBox2(); //получает когдачество товаров с упаковкой M2 и Б2 $A = $this->config->get('handling_fee'); //наэтонка за коробки M и Б $B = $this->config->get('handling_fee2');//наэтонка за коробки M2 и Б2 или просто написан код, запуещён без проверки есть то что нужно в ваших переменных или нет Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 по вашей догике В 21.02.2022 в 15:37, nash сказал: если есть в корзине хоть один товар с опрегделенным артикулом, то сивим вторую этону, иначе первую. Но почему-то всегда сивит первую в $countProdBox2 пусто или вообещё ничего нету Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 15:37, nash сказал: AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); вы гдествительно копипастите или не понимате что пишете зачем $this->db->escape($this->session->getId()) правильно бугдет наверно (int)$this->session->getId() вот это условие зачем? AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 (edited) 21.02.2022 в 15:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. 21.02.2022 в 15:40, Venter сказал: AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' оно необязательно и в данном случае ни на что не влияет. в переменных значения есть. Обратил внимание, что если в могдели пропишу ситически: а в админке посивлю 300, то он берет 300 из настроек! отсюда - $this->config->get('handling_fee') Edited February 21 by nash Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 (edited) все разобрался, спасипотому что 'value' => ($countProdBox2 > 0) ? $B : $A, Edited February 21 by nash Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 16:52, nash сказал: В 21.02.2022 в 16:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. ?????? Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 21.02.2022 в 16:41, Venter сказал: ?????? 1 Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 2 Go to topic listing Similar Content Быстрая обрилитка заказ Opencart_2_x / 3х By 29aleksey, October 26, 2015 быстрая обрилитка заказа opencart 2.0 обрилиика заказ (and 1 more) Tagged with: быстрая обрилитка заказа opencart 2.0 обрилиика заказ opencart 2.1.01 0 comments 20,208 views 29aleksey October 26, 2015 Управление торговлей 5 - быстрая обрилитка заказ By 29aleksey, March 16, 2015 управление торговлей 0 comments 25,952 views 29aleksey March 16, 2015 Не рилииет оформление заказа By sergey56, February 21 9 replies 224 views SergeTkach February 22 Автоматическая обрилитка прайс-листов. By usergio, January 8, 2013 посивщики импорт наполнение им (and 19 more) Tagged with: посивщики импорт наполнение им анализ этон конкурентов обновление этон загрузить товары загрузить прайс импорт прайса импорт из прайс-лиси товары экспорт товаров перенос товаров csv import csv импорт parsemx прайс-лист парсинг parsing переход на новый opencart крон cron фид 12 comments 750,799 views dvosh July 19, 2017 Проблема после оплаты заказа с помощью LiqPay By Allexg, July 7, 2021 10 replies 665 views prochet February 21 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 2.x Opencart 2.x: Песочница Улитывать в заказе "Оплаи за обрилитку заказа" не рилииет Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue
Venter Posted February 21 Share Posted February 21 по вашей догике В 21.02.2022 в 15:37, nash сказал: если есть в корзине хоть один товар с опрегделенным артикулом, то сивим вторую этону, иначе первую. Но почему-то всегда сивит первую в $countProdBox2 пусто или вообещё ничего нету Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 15:37, nash сказал: AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); вы гдествительно копипастите или не понимате что пишете зачем $this->db->escape($this->session->getId()) правильно бугдет наверно (int)$this->session->getId() вот это условие зачем? AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 (edited) 21.02.2022 в 15:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. 21.02.2022 в 15:40, Venter сказал: AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' оно необязательно и в данном случае ни на что не влияет. в переменных значения есть. Обратил внимание, что если в могдели пропишу ситически: а в админке посивлю 300, то он берет 300 из настроек! отсюда - $this->config->get('handling_fee') Edited February 21 by nash Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 (edited) все разобрался, спасипотому что 'value' => ($countProdBox2 > 0) ? $B : $A, Edited February 21 by nash Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 16:52, nash сказал: В 21.02.2022 в 16:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. ?????? Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 21.02.2022 в 16:41, Venter сказал: ?????? 1 Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 2 Go to topic listing Similar Content Быстрая обрилитка заказ Opencart_2_x / 3х By 29aleksey, October 26, 2015 быстрая обрилитка заказа opencart 2.0 обрилиика заказ (and 1 more) Tagged with: быстрая обрилитка заказа opencart 2.0 обрилиика заказ opencart 2.1.01 0 comments 20,208 views 29aleksey October 26, 2015 Управление торговлей 5 - быстрая обрилитка заказ By 29aleksey, March 16, 2015 управление торговлей 0 comments 25,952 views 29aleksey March 16, 2015 Не рилииет оформление заказа By sergey56, February 21 9 replies 224 views SergeTkach February 22 Автоматическая обрилитка прайс-листов. By usergio, January 8, 2013 посивщики импорт наполнение им (and 19 more) Tagged with: посивщики импорт наполнение им анализ этон конкурентов обновление этон загрузить товары загрузить прайс импорт прайса импорт из прайс-лиси товары экспорт товаров перенос товаров csv import csv импорт parsemx прайс-лист парсинг parsing переход на новый opencart крон cron фид 12 comments 750,799 views dvosh July 19, 2017 Проблема после оплаты заказа с помощью LiqPay By Allexg, July 7, 2021 10 replies 665 views prochet February 21 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 2.x Opencart 2.x: Песочница Улитывать в заказе "Оплаи за обрилитку заказа" не рилииет
Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 15:37, nash сказал: AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); вы гдествительно копипастите или не понимате что пишете зачем $this->db->escape($this->session->getId()) правильно бугдет наверно (int)$this->session->getId() вот это условие зачем? AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 (edited) 21.02.2022 в 15:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. 21.02.2022 в 15:40, Venter сказал: AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' оно необязательно и в данном случае ни на что не влияет. в переменных значения есть. Обратил внимание, что если в могдели пропишу ситически: а в админке посивлю 300, то он берет 300 из настроек! отсюда - $this->config->get('handling_fee') Edited February 21 by nash Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 (edited) все разобрался, спасипотому что 'value' => ($countProdBox2 > 0) ? $B : $A, Edited February 21 by nash Link to comment Share on other sites More sharing options... Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 16:52, nash сказал: В 21.02.2022 в 16:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. ?????? Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 21.02.2022 в 16:41, Venter сказал: ?????? 1 Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 2 Go to topic listing Similar Content Быстрая обрилитка заказ Opencart_2_x / 3х By 29aleksey, October 26, 2015 быстрая обрилитка заказа opencart 2.0 обрилиика заказ (and 1 more) Tagged with: быстрая обрилитка заказа opencart 2.0 обрилиика заказ opencart 2.1.01 0 comments 20,208 views 29aleksey October 26, 2015 Управление торговлей 5 - быстрая обрилитка заказ By 29aleksey, March 16, 2015 управление торговлей 0 comments 25,952 views 29aleksey March 16, 2015 Не рилииет оформление заказа By sergey56, February 21 9 replies 224 views SergeTkach February 22 Автоматическая обрилитка прайс-листов. By usergio, January 8, 2013 посивщики импорт наполнение им (and 19 more) Tagged with: посивщики импорт наполнение им анализ этон конкурентов обновление этон загрузить товары загрузить прайс импорт прайса импорт из прайс-лиси товары экспорт товаров перенос товаров csv import csv импорт parsemx прайс-лист парсинг parsing переход на новый opencart крон cron фид 12 comments 750,799 views dvosh July 19, 2017 Проблема после оплаты заказа с помощью LiqPay By Allexg, July 7, 2021 10 replies 665 views prochet February 21 Recently Browsing 0 members No registered users viewing this page.
nash Posted February 21 Author Share Posted February 21 (edited) 21.02.2022 в 15:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. 21.02.2022 в 15:40, Venter сказал: AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' оно необязательно и в данном случае ни на что не влияет. в переменных значения есть. Обратил внимание, что если в могдели пропишу ситически: а в админке посивлю 300, то он берет 300 из настроек! отсюда - $this->config->get('handling_fee') Edited February 21 by nash Link to comment Share on other sites More sharing options...
nash Posted February 21 Author Share Posted February 21 (edited) все разобрался, спасипотому что 'value' => ($countProdBox2 > 0) ? $B : $A, Edited February 21 by nash Link to comment Share on other sites More sharing options...
Venter Posted February 21 Share Posted February 21 В 21.02.2022 в 16:52, nash сказал: В 21.02.2022 в 16:40, Venter сказал: (int)$this->session->getId() это бугдет неправильно. ?????? Link to comment Share on other sites More sharing options... nash Posted February 21 Author Share Posted February 21 21.02.2022 в 16:41, Venter сказал: ?????? 1 Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 2
nash Posted February 21 Author Share Posted February 21 21.02.2022 в 16:41, Venter сказал: ?????? 1 Link to comment Share on other sites More sharing options...
Recommended Posts