Перейти к содержанию

steve07

Пользователь
  • Постов

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

  • Посещение

Весь контент steve07

  1. Добрый день!) не отображаются ни в какую доставки от модуля... все включено, настроено, в корзине товары на сумму больше одного рубля) куда копать, что посмотреть?
  2. проблема решена, была пустая строка в начале файла контроллера multistore.php
  3. проблема решилась сама по себе. Модуль стоит на двойке. Модификаторов вообще никаких нет. Не знаю что вообще было. Сейчас у меня есть новый вопрос: я сделал просмотр сайта только для авторизованных пользователей, сделал проверку: если не авторизован, то происходит редирект на страницу авторизации, в header.php: if (!$this->customer->isLogged() ) { if (!isset($this->request->get['route']) || $this->request->get['route'] != 'account/login') { $this->response->redirect($this->url->link('account/login', '', true)); } } при заходе на главную страницу, падает варнинг в вашем модуле и сайт не отображается: Warning: Cannot modify header information - headers already sent by (output started at public_html/catalog/controller/extension/module/multistore.php:1) in public_html/system/storage/modification/system/library/response.php on line 29 подскажите, пожалуйста, пути решения данной проблемы
  4. Добрый день! Настроил вроде все как надо, а запрет запуска файлов не срабатывает, store.ru/1.php открывается как и другие файлы: Ubuntu 22 и fastpanel стоит server { server_name store.ru; listen ххх.57.ххх.173:443 ssl http2 ; ssl_certificate "/var/www/httpd-cert/store.ru_2024-06-02-14-33_09.crt"; ssl_certificate_key "/var/www/httpd-cert/store.ru_2024-06-02-14-33_09.key"; add_header Strict-Transport-Security "max-age=31536000" always; charset utf-8; gzip on; gzip_proxied expired no-cache no-store private auth; gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon; gzip_comp_level 1; set $root_path /var/www/fastuser/data/www/store.ru; root $root_path; disable_symlinks if_not_owner from=$root_path; location / { index index.php index.html; try_files $uri $uri/ /index.php?$args; if (!-e $request_filename){ rewrite ^/(.+)$ /index.php?_route_=$1 last; } } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/store.ru.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; } location ~ ^/(index|admin/index|install/index)\.php { try_files /does_not_exists @php; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|map|ogg|otf|pdf|tff|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ { try_files $uri $uri/ /index.php?$args; } location ~* \.(php|log|tpl|txt|twig|xml|ini)$ { deny all; } location ~ /\. { deny all; } location ~ ^/system/ { deny all; } location = /robots.txt { allow all; } location @fallback { fastcgi_pass unix:/var/run/store.ru.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } include "/etc/nginx/fastpanel2-sites/fastuser/store.ru.includes"; include /etc/nginx/fastpanel2-includes/*.conf; error_log /var/www/fastuser/data/logs/store.ru-frontend.error.log; access_log /var/www/fastuser/data/logs/store.ru-frontend.access.log; } подскажите, пожалуйста, что не так?
  5. да вот в том-то и дело, что я добавил этот код, а ошибка как была, так и остается
  6. @d1medrol те ошибки ушли, а вот эта не решилась: Notice: Undefined variable: text_not_multistore in public_html/catalog/view/theme/default/template/extension/module/multistore/list.tpl on line 12
  7. я здесь и скачивал, не вижу, чтобы они были обновлены
  8. Notice: Trying to access array offset on value of type null in /home/g/partner/public_html/catalog/controller/extension/module/multistore.php on line 27 если нет остатков на складах или склады не добавлены в таблицу oc_product_to_multistore и вот такая: Notice: Undefined variable: text_not_multistore in /home/g/grant89687/partner_new/public_html/catalog/view/theme/default/template/extension/module/multistore/list.tpl on line 12 подскажите, пожалуйста, как можно поправить эту ошибку. Чистый Ocstore 2.3.0.2.4
  9. Здравствуйте! Не вижу как вывести числовое количество вместо слов "Много"/"Мало", подскажите, пожалуйста
  10. Здравствуйте! Ранее был сделан уже экспорт отфильтрованных товаров в PDF и Excel, но на предыдущей версии ocfilter. На новой версии перестал работать экспорт отфильтрованных данных. Нужно исправить данную проблему. От вас сроки и стоимость работ.
  11. тут все ок Array ( [filter_category_id] => 61 [filter_filter] => [sort] => p.sort_order [order] => ASC [start] => 0 [limit] => 10000 ) в results соответственно попадают все товары из категории id=61. А как получить массив с отфильтрованным списком никак не пойму. Помогите, пожалуйста. функция экспорта в PDF
  12. То есть расчеты в самой симпле уже производить, верно я понял по второму варианту?
  13. если направите на путь истинный буду благодарен)
  14. ищу исполнителя)на сколько мне помнится там в library/cart надо внести правки, расчет.
  15. На странице товара происходит расчет цены товара в зависимости от количества выбранных дней. Формула на странице товара считает все как надо. Необходимо, чтобы в модуль simple передавалась эта цена и итог товара, ну и соответственно оформлялся заказ как надо. ocstore 2.3
  16. Есть календарь на сайте для выбора промежутка дат (суток) для бронирования определенного товара (date range picker js). Необходимо сделать запрет выбора промежутка дат в одни сутки, т.е.: при заказе с ПТ на СБ или с СБ на ВС должен добавляться один день в календаре, т.е запретить бронировать на одни сутки в эти дни недели, а также вывести сообщение-предупреждение об этом событии. От вас жду стоимость такой доработки. Сроки 1-3 дня.
  17. не, наоборот, чтобы и маска была для ручного ввода, а также с помощью календаря выбирали дату. Сейчас когда с календаря дату выбирают, она передается в инпут, но сразу меняется на маску (_ _ _ _-_ _-_ _)
  18. Есть инпут, к которому привязан airDatapicker. При выборе даты в календаре маска заменяет выбранную дату. Как можно поправить эту проблему? <div class="form-group required"> <label class="col-sm-4 col-xs-12 control-label" for="input-date"><?php echo $entry_data; ?></label> <div class="col-sm-8 col-xs-12"> <input type="text" name="date" value="<?php echo $date; ?>" id="input-date" class="form-control datecalendar" /> <div class="text-danger" id="error_date"></div> </div> </div> <script type="text/javascript"> $(function(){ $(".datecalendar").datepicker( { dateFormat: 'yyyy-mm-dd' } ).mask('9999-99-99'); }); </script>
  19. Добрый день! Стоит задача, не создавая категории с урлом "shop", чтобы при переходе в любую из категорий в адрес подставлялось "shop/": site.ru/shop/category1 site.ru/shop/category2/product и т.д. может есть уже готовые решения?
  20. не помогает, это при старой версии фильтра было... и все ок работало. С новой не работает
  21. как получить отфильтрованный массив товаров? Делаю со страницы категории экспорт товаров в PDF формат, в 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*/ // OCFilter start if ($this->registry->get('ocfilter') && $this->ocfilter->startup() && $this->ocfilter->api->useSubCategory() && $this->ocfilter->api->isSelected() && empty($filter_data['filter_sub_category'])) { $filter_data['filter_sub_category'] = true; } // OCFilter end $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $results = $this->model_catalog_product->getProducts($filter_data); // Unit of measure → $this->load->model('extension/module/unit_of_measure'); $product_ids = array(); foreach ($results as $result) { $product_ids[] = $result['product_id']; } $units_result = $this->model_extension_module_unit_of_measure->getUnits($product_ids); // ← Unit of measure 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']); if ($this->currency->has($this->config->get('config_currency2')) && ($this->config->get('config_currency2') != $this->session->data['currency'])) { $special .= ' (' . $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->config->get('config_currency2')) . ')'; } } else { $special = false; } $data['products'][] = array( 'unit_of_measure' => isset($units_result[$result['product_id']]) ? html_entity_decode($units_result[$result['product_id']], ENT_QUOTES, 'UTF-8') : '', '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/category_price.tpl')) { $this->template = $this->config->get('config_template') . '/template/product/category_price.tpl'; } else { $this->template = 'default/template/product/category_price.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/category_price.tpl', $data)); $mpdf->Output('Прайс_' . $today . '.pdf', 'D'); }
  22. Здравствуйте! Накидал немного функционал в "локализация" -> "Адрес магазина" выбирается в каждом магазине федеральный округ. Все используемые округа я вывел программно в виде табов. А как раскидать сами магазины по этим табам? возможно как-то привязаться по id федерального округа? <?php if ($all_FO) { ?> <ul class="nav nav-tabs"> <?php foreach($all_FO as $fo) { ?> <li id="fo_<?php echo $fo['fo_id']; ?>"> <a href="#fo-<?php echo $fo['fo_id']; ?>" data-toggle="tab"><?php echo $fo['fo_name']; ?></a></li> <?php } ?> </ul> <?php } ?> <?php if ($locations) { ?> <div class="tab-content"> <?php foreach ($locations as $location) { ?> <div id="fo-<?php echo $location['federal_okrug_id']; ?>" class="location_list tab-pane fade active in"> <div class="location_item"> <div class="location_name"> <div data-objectid="<?php echo $location['location_id']; ?>" class="location_map"><span>Показать на карте <svg class="icon_svg"><use xlink:href="image/catalog/sprite.svg#treugol"></use></svg></span><svg class="icon_svg"><use xlink:href="image/catalog/sprite.svg#map_icon"></use></svg></div> <a href="<?php echo $location['href']; ?>"><?php echo $location['name']; ?></a> </div> <div class="location_address"><?php echo $location['address']; ?></div> </div> </div> <?php } ?> </div> <?php } ?>
  23. if(isset($parts[1])) { if(isset($item['russian_tracking_no']) && isset($query_order->row['payment_country_id']) && $query_order->row['payment_country_id'] == 176 && empty($query_order_nrsdek->row['nr_sdek']) && $checks[$item['russian_tracking_no']] != '1') { $this->setOrderStatus($parts[0],$item['russian_tracking_no']); $this->log->write('СТАТУС ОБНОВЛЕН! Письмо (заказ '. $parts[0] . ') отправлено на ' . $email); $checks[$item['russian_tracking_no']] = '1'; } else { $this->log->write('Письмо (заказ '. $parts[0] . ') НЕ отправлено'); } } Этот код у меня выполняется в цикле, получаю из учетной системы по API данные (трек номер) на каждую позицию (лот) в заказе . Как правило, трек номер один и тот же на все товары в заказе, но бывает что и разные. Тем самым мне надо сделать проверку, чтобы при обновлении трек номера у одной позиции в заказе письмо отправлялось, а при обновлении у следующих позиций письма уже не отправлялись. Так вот, я сделал проверку, $checks[$item['russian_tracking_no']] != '1', и в конце цикла я присваиваю этой переменной значение 1. Но при первом проходе в логи валится ошибка: как мне правильно сделать проверку или переписать условие?
×
×
  • Создать...