Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

nash

Users
  
  • Posts

    421
  • Joined

  • Last visited

Everything posted by 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. спасибо, затупок я. Из-за этого такая дичь происходила?
  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. Делаю вывод, что запрос написан неправильно. Что в нем не так? или не в запросе дело?
×
×
  • 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.