Programming and Development Assistance
Questions about the development and various improvements of OpenCart and modules
Правила раздела
Общайтесь с людьми на форуме так, как вы разговаривали бы с ними в реальной жизни. В повседневном общении мы демонстрируем воспитанность, степенность и солидность. Берите пример с самих себя и при виртуальном общении.
Помните, вы находитесь на тематическом форуме, старайтесь руководствоваться нормами поведения, которые приняты в деловой среде. Посылайте простые и ясные сообщения, которые понятны всем участникам диалога. Придерживайтесь тематики топика и задавайте вопросы по делу.
Не бойтесь быть дружелюбным и общительным, пользуйтесь возможностями неформальной обстановки, высказывайтесь доброжелательно и спокойно. Вы можете воздействовать на обстановку и людей, создавая тем самым приятную атмосферу на форуме.
Если вам не нравятся собеседники в теме общения или обстановка, которая в ней сложилась, не стоит писать сообщения, изобличающие людей, которые вас не устраивают. Каждый из вас может просто покинуть топик и исключить неприятности из своей жизни.
Чего следует сторониться:
- не нормативная лексика - табу на подавляющем большинстве форумов и этот не исключение,
- оскорбления - помните, что каждое слово может быть использовано против вас,
- угрозы - а подобные сообщения преследуются по закону!
Руководствуясь этими простыми правилами, вы сможете избежать бессмысленных разногласий и добиться конструктивного общения, а также скорейшего решения вашего вопроса или возникшей проблемы.
28 topics in this forum
-
- 5 followers
- 5 replies
- 377 views
ocStore 2.3, корзина Simple. Хотел вывести сообщение в корзине "До бесплатной доставки осталось купить на: _____ рублей." Подскажите, где я ошибаюсь. В контроллере simplecheckout_cart.php прописываю в public function index $cart_total = $this->cart->getSubTotal(); $data['cart_total'] = $cart_total; Соответственно в шаблоне корзины simplecheckout_cart.tpl <?php if ($cart_total < 4000): ?> <div style="color: #cc0000; font-size: 16px; font-weight: bold; margin-top: 10px; padding: 10px; border: 1px solid #cc0000; background-color: #f8d7da; border-radius: 5px; text-align: right;"> До бесплатной доставки осталось ку…
Last reply by nikifalex, -
- 3 followers
- 1 reply
- 325 views
Всем, привет, помогите плз. мозгов не хватает прикрутить в header.twig <meta http-equiv="expires" content="{{ expires }}"> <meta http-equiv="last-modified" content="{{ last_modified }}"> сделал в catalog/controller/common/lastmodified.php <?php // Установите заголовки $Expires = @date('D, d M Y H:i:00', time() + 360000); $num = mt_rand(2000, 10000); $LastModified = gmdate("D, d M Y H:i:s \G\M\T", time() - $num); $IfModifiedSince = false; if (isset($_ENV['HTTP_IF_MODIFIED_SINCE'])) $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5)); if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) …
Last reply by Blast, -
Придумываю рабочий процесс для проекта на OC3. Это мой первый проект на OC. Какое-то время вёл разработку(точнее сборку проекта) по-старинке, без версионирования изменений. Просто делая бэкапы и ведя историю в записках. Но понял что, чем дальше так продолжать больше проект будет превращаться в дремучий лес. А в будущем предполагаются серьёзные доработки своей командой. Сложилось некое своё видение и идеи как организовать воркфлоу с применением Git в том числе и для БД. Искал на просторах интернета существующий опыт. Но ничего интересного кроме вот этого вопроса на хабре не нашёл. Там на основе поставленных вопросов я изложил своё видение, как контролировать историю…
Last reply by Venter, -
- 2 followers
- 0 replies
- 1.3k views
подскажите как сделать маркер в атрибутах, то есть точка или символ перед атрибутом. пробовал копаться в CSS не получилось сделать, по идее нужно куда-то добавить list-style-type: disc; но все равно не получается. кто уже делал такое? вот пример товара. Заранее спасибо. https://ru-danfoss.ru/fc-051pk75s2e20h3xxcxxxsxxxpr-klass-0960660652-132f0003
Last reply by Arthur, -
- 1 follower
- 0 replies
- 378 views
подскажите как сделать маркер в атрибутах, то есть точка или символ перед атрибутом. пробовал копаться в CSS не получилось сделать, по идее нужно куда-то добавить list-style-type: disc; но все равно не получается. кто уже делал такое? вот пример товара. Заранее спасибо. https://ru-danfoss.ru/fc-051pk75s2e20h3xxcxxxsxxxpr-klass-0960660652-132f0003
Last reply by Arthur, -
- 1 follower
- 2 replies
- 1.1k views
Здравствуйте, есть функционал, который выводит поле и данные в карточке в опции, с одним языком работает все нормально. Пытаюсь сделать текстовые поле мультиязычным - но ничего не получается. Код из модели опций public function getOptionValuesId($option_id) { $option_value_data = array(); $option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "option_value ov LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE ov.option_id = '" . (int)$option_id . "' ORDER BY ov.sort_order, ovd.name"); foreach ($option_value_query->rows as $option_value) { $opt…
Last reply by Stack, -
- 3 followers
- 10 replies
- 1.3k views
Здравствуйте! Есть не совсем логичная задача, но хочется ее реализовать именно так))) Не судите строго. Находясь в админке, нужно сделать запрос на страницу в админке по url. Там будет pdf файл, который потом мы сохраним на сервер. Выносить в паблик эти pdf файлы небезопасно. т.е. у нас есть все данные, токен, сессия, куки и т.п. Как правильно их передать через curl, что бы пройти авторизацию опенкарт 1.5.4.1 Может быть что то типа: curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID='.$_COOKIE["PHPSESSID"]); Не работает ( Или это не возможно? И тут только проходить авторизацию по логину и паролю, далее сохранять…
Last reply by PVLDM, -
- 1 follower
- 5 replies
- 583 views
как получить отфильтрованный массив товаров? Делаю со страницы категории экспорт товаров в 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(…
Last reply by AlexDW, -
- 1 follower
- 1 reply
- 741 views
Всем привет, может кто решал подобную задачу: Нужно заполнить поля в карточке яндекс маркета, отвечающие за фильтр товаров. Эти поля у каждой категории на маркете индивидуальны. Заполняем Ширину, Цвет, Плотность и Изготовителя Исходя из документации заполнять эти поля нужно через тег <param> <offer id="37297" available="true"> ... <param name="Ширина" unit="м">140</param> <param name="Плотность" unit="г/м">120</param> <param name="Цвет товара для карточки">СЕРЫЙ</param> <param name="Изготовитель">Россия</param> </offer> Но данные поля не заполняются на Маркете. С остальными по…
Last reply by nisorek, -
- 1 follower
- 0 replies
- 364 views
Здравствуйте! Накидал немного функционал в "локализация" -> "Адрес магазина" выбирается в каждом магазине федеральный округ. Все используемые округа я вывел программно в виде табов. А как раскидать сами магазины по этим табам? возможно как-то привязаться по 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 } ?> …
Last reply by steve07, -
- 1 follower
- 1 reply
- 314 views
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] . ') НЕ отправлено'); } } Этот код у меня выполняется в цикле, получаю из учетной сист…
Last reply by AlexDW, -
- 2 followers
- 4 replies
- 415 views
Не пойму почему возникает ошибка на return $query->row['email']; ? 2023-07-28 10:49:32 - PHP Notice: Undefined index: email in admin/controller/catalog/exchange.php on line 993 2023-07-28 10:49:32 - Письмо (заказ #2499) отправлено на 2023-07-28 10:49:32 - PHP Notice: Undefined index: email in admin/controller/catalog/exchange.php on line 993 2023-07-28 10:49:32 - Письмо (заказ #2501) отправлено на Есть обработка, которая получает некоторые данные по АПИ. Получаю емаил по номеру заказу: public function getEmailOrder($order_id) { $query = $this->db->query("SELECT email FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id …
Last reply by steve07, -
- 1 follower
- 2 replies
- 304 views
Здравствуйте! Как можно вывести ссылку на скачивание купленного файла в информации о заказе, чтобы покупатель мог скачать купленный файл не только на специальной странице, но и на странице заказа. Использую клубную сборку. Спасибо!
Last reply by Druid, -
- 3 followers
- 6 replies
- 559 views
Подскажите, пожалуйста, как из атрибута "data-mail" option селекта передать значение в контроллер для отправки почты по данному адресу? Сделал функцию changeMail, которая помещает значение атрибута в input, и повесил ее на select. Но она не срабатывает <div class="form-group"> <label for="sobSelect19" class="control-label col-sm-12" data-toggle="tooltip" data-original-title="">Адрес филиала</label> <select name="field[19][message]" class="form-control has-value" id="sobSelect19" onchange="changeMail(this)"> <option data-email="****@yandex.ru" value="проспект Гагарина 1 линия, 9Б">проспект Гагарина 1 линия, 9Б</option&g…
Last reply by Nash, -
- 2 followers
- 2 replies
- 333 views
Здравствуйте! Делаю зависимые select'ы «Город» -> «Список филиалов/адресов». Стоит модуль GeoIP Pro, при выборе города в селект, получаю json адресов из данного города. Но при первой загрузке формы, пока не перевыберешь город в select подгрузка городов не срабатывает. Как сделать, чтобы сразу подгружались адреса, без лишнего перевыбора. <?php if ($field['type'] == 'select'){ ?> <div class="form-group"> <label for="sobSelect<?= $field['id_field'] ?>" class="control-label col-sm-12" data-toggle="tooltip" data-original-title="<?php echo $field['tooltip']? : '' ?>"&…
Last reply by Nash, -
- 2 followers
- 1 reply
- 549 views
Не работает поиск в русской расклдаке в каталоге. Еще 2 страници не открываеются в версии сайта для EN языка. Кто то может помочь за вознаграждение?
Last reply by Sig, -
- 2 followers
- 1 reply
- 368 views
Здравствуйте, имеется розничный ИМ на OPENCART.PRO 2.3, вопрос особо нет, работает blackzip.ru Сейчас открываем доп. направление оптовых продаж, хотелось бы не открывать еще один магазин, а каким то образом совместить розницу и б2б продажи. Может кто-то сталкивался, или мысли имеются? Так же интересны предложения о мобильном приложении синхронизированным с опенкартом и 1с
Last reply by freeworld, -
- 1 follower
- 1 reply
- 664 views
Кто-то адаптировал модуль мультивалютные товары с OCFilter? Сам модуль отрабатывает отлично, но окфильтр не пересчитывает 25$ в нужную валюту. года 3 назад автор писал возможное решение - Можно, в sql-запросах модуля фильтра, там где идет выборка цены p.price умножать ее на курс, примерно так:* (CASE WHEN p.currency_id>0 THEN (1/(SELECT c.value FROM `" . DB_PREFIX . "currency` c WHERE c.currency_id=p.currency_id) но не разобрался как это сделать, запрос разбит на части((( Подскажите, как подправить!
Last reply by kardinals, -
- 1 follower
- 1 reply
- 441 views
У меня такая проблема. Выгружается вместо <currency id="RUB" rate="1"/> Вот так <currency id="1.00000000" rate="1"/> Подскажите, куда смотреть? Если знает кто. В startup.php все есть // Currency $code = ''; $this->load->model('localisation/currency'); $currencies = $this->model_localisation_currency->getCurrencies(); if (isset($this->session->data['currency'])) { $code = $this->session->data['currency']; } if (isset($this->request->cookie['currency']) && !array_key_exists($code, $cu…
Last reply by chixx, -
- 2 followers
- 2 replies
- 484 views
Добрый день! Нужна помощь! Есть в магазине много-много атрибутов больше 1000шт в разных группах. Необходимо вывести определенные атрибуты (3-5 шт) на странице категории. В админке, в товаре, реализовано поле "статус атрибута" в виде чекбокса, по которому в шаблоне мы выводим определенные атрибуты. Но на витрине магазина (28000 товаров), происходят жуткие лаги, долго грузится страница. Реализован вывод атрибутов на витрине следующим образом: В контроллере category.php, в массиве products: 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), В модели Product.php добавлено поле status publi…
Last reply by halfhope, -
- 2 followers
- 3 replies
- 556 views
Доброго дня! Подскажите пожалуйста, SQL запрос, что бы в определенной категории у всех товаров сделать индексацию - выключенной. Есть категория ID=1 (модули для кухонь), нужно в категории, отключить индексацию всех товаров. Ocstore 3.0.3.7
Last reply by МУРЗЕИН, -
- 3 followers
- 4 replies
- 380 views
Всем, здравствуйте, подскажите пожалуйста с помощью css хочу скрыть текст на странице товара, но не могу найти правильный синтаксис запроса обычный бы выглядел так: h1[fm-page-title ="текст"] {display:none}, а мне нужно скрыть другой класс т.е. чтобы получился запрос вида if {....} else {.....}, но только в css.
Last reply by Blast, -
- 1 follower
- 1 reply
- 607 views
Привет! Не могу понять, почему не загружается/не видно файла mp4 1. Делаю модификатором так: <file path="admin/controller/common/filemanager.php"> <operation> <search> <![CDATA[$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);]]> </search> <add position="replace"> <![CDATA[$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF,mp4,webm}', GLOB_BRACE);]]> </add> </operation> <operation> <search> <![CDATA['jpeg',]]> </search> …
Last reply by specialforce22, -
- 2 followers
- 2 replies
- 397 views
Здравствуйте Кто-нибудь может помочь советом, как через запрос к базе данных удалить в товарах главные категории. То есть сами категории оставить, а «главные» категории массово убрать у всех товаров?
Last reply by Dini4, -
- 1 follower
- 0 replies
- 409 views
В статье есть простая форма с 1 полем. <form action="" method="post" enctype="multipart/form-data" id="test_form"> <input type="text" value=""> <input type="submit" value="Отправить" for="test_form"> </form> Как записать значение поля "text", в таблицу os_test в БД?
Last reply by DenKuzmin,