Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

nash

Пользователи
  
  • Публикаций

    421
  • Зарегистрирован

  • Посещение

Все публикации пользователя nash

  1. Подскажите, пожалуйста, как работает двусторонний обмен заказами в данном модуле. Модуль стоит на опенкарт 3. по каким данным синхронизируются заказы, если гуид заказов нигде не фигурирует? Файл от 1с с заказом приходит.
  2. почему-то выгружаются все товары из категории
  3. @SooR подскажите, пожалуйста, как получить отфильтрованный массив товаров? Делаю со страницы категории экспорт товаров в PDF формат. Раньше делал так, а как сейчас в новой версии, не понимаю if ($category_info) { // OCFilter start if (isset($this->request->get['filter_ocfilter'])) { $filter_ocfilter = $this->request->get['filter_ocfilter']; } else { $filter_ocfilter = ''; } // OCFilter end if (isset($this->request->get['filter'])) { $filter = $this->request->get['filter']; } else { $filter = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = (int)$this->request->get['limit']; } else { $limit = $this->config->get($this->config->get('config_theme') . '_product_limit'); } require('system/library/mpdf/mpdf.php'); $data['heading_title'] = $category_info['name']; $data['text_refine'] = $this->language->get('text_refine'); $data['text_empty'] = $this->language->get('text_empty'); $data['text_quantity'] = $this->language->get('text_quantity'); $data['text_manufacturer'] = $this->language->get('text_manufacturer'); $data['text_model'] = $this->language->get('text_model'); $data['text_price'] = $this->language->get('text_price'); $data['products'] = array(); $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => 10000 ); // OCFilter start $filter_data['filter_ocfilter'] = $filter_ocfilter; // OCFilter end $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $results = $this->model_catalog_product->getProducts($filter_data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get($this->config->get('config_theme') . '_image_product_width'), $this->config->get($this->config->get('config_theme') . '_image_product_height')); } else { $image = $this->model_tool_image->resize('placeholder.png', $this->config->get($this->config->get('config_theme') . '_image_product_width'), $this->config->get($this->config->get('config_theme') . '_image_product_height')); } if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) { $price = $result['price']; } else { $price = false; } if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); } else { $special = false; } $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'model' => $result['model'], 'collection' => $result['collection'], 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => (int)$price . ' руб', 'special' => $special, 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } // $template = 'product/category'; //$this->load->library('mpdf/mpdf'); $headerHTML = ' <div style="float: left; width: 340px; text-align: left"> <a target="_blank" href="' . HTTPS_SERVER . '"><img style="max-width:100%;max-height:180px" src="/image/'.$this->config->get('config_logo').'" /></a> </div> <div style="float: right; width: 340px; text-align: right; color: #808180"> ' . nl2br($this->config->get('config_address')) . '<br/> ' . $this->config->get('config_telephone') . '<br/> ' . $this->config->get('config_email') . '<br/> <a style="color:blue; text-decoration:none;" target="_blank" href="' . HTTPS_SERVER . '">' . HTTPS_SERVER . '</a> </div> <div class="clear"></div> <hr> '; //print_r($this->config); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/price_to_pdf.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/price_to_pdf.tpl'; } else { $this->template = 'default/template/product/price_to_pdf.tpl'; } $today = date("d.m.Y"); $mpdf = new mPDF('utf-8', 'A4', 7, 'Helvetica', 20, 5, 35, 5); $mpdf->name = $category_info['name'] . '.pdf'; $mpdf->SetHTMLHeader($headerHTML); $mpdf->WriteHTML($this->load->view('product/price_to_pdf.tpl', $data)); $mpdf->Output('Прайс_' . $today . '.pdf', 'D'); }
  4. а фильтр по цене с главной страницы не работает?
  5. <Предложение> <Ид>a4de4d29-5bca-11ea-85b7-00155d010302#cf8a8d45-52f1-11ea-8459-38d54716e418</Ид> <Артикул>1439299300</Артикул> <Наименование>ШИНЫ 215/55 R-17 Cordiant Snow Cross 98T ш (Новый)</Наименование> <БазоваяЕдиница Код="796 " НаименованиеПолное="Штука" МеждународноеСокращение="PCE"> <Пересчет> <Единица>796</Единица> <Коэффициент>1</Коэффициент> </Пересчет> </БазоваяЕдиница> <Цены> <Цена> <Представление> 6 840 RUB за PCE</Представление> <ИдТипаЦены>5a04b1b7-df3b-11ed-8f29-309c23823e7f</ИдТипаЦены> <ЦенаЗаЕдиницу>6840</ЦенаЗаЕдиницу> <Валюта>RUB</Валюта> <Единица>PCE</Единица> <Коэффициент>1</Коэффициент> </Цена> </Цены> <Количество>4</Количество> <Склад ИдСклада="9429b9d0-d0d7-11ea-906f-00155d010302" КоличествоНаСкладе="4"/> </Предложение> не парсятся остатки из-за вот этого, хотя в коде разбивка идет по #: <Ид>a4de4d29-5bca-11ea-85b7-00155d010302#cf8a8d45-52f1-11ea-8459-38d54716e418</Ид> удаляю вторую часть ИДэшника и загружаю в ручном режиме, все остатки и цены проставляются нормально. Как победить этот косяк?
  6. А как сделать, чтобы цены в админке были в долларах, а на сайт, при первом заходе пользователя, ставились рубли, а потом при переключении, если ему надо, он переключал валюты?
  7. с php это вряд ли связано. На 7.3 у меня работает и соединяется. Сайт с https? как версия модуля у вас?
  8. много обращений будет к серверу) я делал себе по хэшу, но мне сказали, что так не надо..)
  9. @Kirillove не подскажите как это считается? и с чем может быть связана ошибка? Читал в теме, что якобы статусы не назначены... но в настройках все настроено. Версия 1.6.4.8
  10. Есть много сайтов, собранные на одной и той же сборке, с одними и теми же модулями. Но на одном из сайтов при выводе модуля на любой схеме ИМ вылезает ошибка 502. Написал хостеру, они мне говорят: "В ходе проверки нами было выяснено, что наблюдается проблема в коде проекта, у вас циклически вызывается следующее: ModelExtensionModuleMenu->getPath в catalog/model/extension/module/Menu.php " [0x7fffdf1a3280] ModelExtensionModuleMenu->getCategories(171, "by_id") /home/m/mrven/oc23/public_html/catalog/model/extension/module/Menu.php:21 [0x7fffdf1a3200] ModelExtensionModuleMenu->getCategory("171") /home/m/mrven/oc23/public_html/catalog/model/extension/module/Menu.php:4 [0x7fffdf1a30b0] ModelExtensionModuleMenu->getPath("171") /home/m/mrven/oc23/public_html/catalog/model/extension/module/Menu.php:99 [0x7fffdf1a2f60] ModelExtensionModuleMenu->getPath("172") /home/m/mrven/oc23/public_html/catalog/model/extension/module/Menu.php:105 как поправить этот косяк? menu.php
  11. судя по скрину, у вас либо в контроллере прописан фактический размер ресайза, либо в настройках
  12. В том числе: создано новых: 35 Выгружено заказов: 54 Произошла ошибка на стороне сервера. Файл не отправлен (C:\Users\web\AppData\Local\Temp\1cbitrix\1cbitrix-ef50a455-21f9-448e-b4ec-2abb5c9396e7.xml). Обмен не выполнен Ответ сервера: modeFileSale(): no XML files Обмен заказами завершен с ошибками!!! 1. Как считается "выгружено заказов: 54"? Всего выгруженных заказов? Если да, то должно быть тогда 100+ заказов 2. Что это за ошибка и как ее решить?
  13. какая должна быть посещаемость, чтобы это было существенно?
  14. я делаю через хеш-код, в библиотеке document.php, что-то типа такого: hash_file('md5', 'example.css'); library/document.php public function addStyle($href, $rel = 'stylesheet', $media = 'screen') { $this->styles[$href] = array( 'href' => $href, 'rel' => $rel, 'ver' => '?'.hash_file('md5', $href), 'media' => $media ); } но все стили/скрипты должны добавляться через controller
  15. контроллер корзины подключите на странице продукта $data['cart'] = $this->load->controller('common/cart');
  16. nash

    Правильность SQL запроса

    спасибо, затупок я. Из-за этого такая дичь происходила?
  17. Добрый день! Существует некоторая проблема. Есть товары с некоторыми артикулами: «A», «B», «C», «S». В суммозависимых итогах ("учитывать в заказе") заказа есть такая позиция как "Упаковка" (переделал платную обработку заказа «handling»), которая зависит от наличия в корзине товаров с приведенными ранее артикулами. Если хотя бы один товар с любым из данных артикулов имеется в корзине, то упаковка стоит = 300р, если таких товаров нет, то упаковка = 200р. в библиотеке корзины я сделал запрос: 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']; } в модели «handling.php» я получаю количество данных товаров: <?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' => ($countProdBox2 > 0) ? $B : $A, //$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; } } } } вопрос в том, что упаковка то нормально просчитывается, то неправильно. На скринах ниже момент, когда упаковка должна быть 199. Делаю вывод, что запрос написан неправильно. Что в нем не так? или не в запросе дело?
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.