Поиск по сайту
Результаты поиска по тегам 'oc3'.
Найдено 53 результата
-
Привет! Может кто решал проблему с тем, что клик по кнопке смены языка редиректит на главную и при этом с некрасивым ( index.php?route=common/home ) урлом? И может модуль есть для OC3 который работает как seo cms? OC 3.0.2.0 спасибо
- 1 ответ
-
- язык
- смена языка
-
(и ещё 2)
Теги:
-
Всех приветствую! Дайте подсказок пож-та. В голове настал тупик Продаю б/у запчасти (разборка). Есть марка авто, есть модель авто, есть категории деталей к каждому из авто. Как и чем можно сделать, чтобы не плодить категории под каждую марку-модель, но при этом выводить в меню. Т.е. пример: Деталь "Генератор" от марки Audi модели Allroad и конкретный номер авто "52" должна быть в категории "Электрооборудование". Чего хочется добиться: Получить выборку всех деталей по марке+модели Получить выборку всех деталей из категории (в данном случае электрооборудование) Получить выборку вместе пунктов 1 и 2 (т.е. хочу вот для Audi Allroad посмотреть электрооборудование) Получить выборку всех деталей от конкретного авто "52" Это вообще в опенкарте реально? Чем такое реализовывают? OCFilter что ли надо прикрутить? Заранее благодарю!
-
Добрый день! Помогите разобраться "новичку" на OcStore 3.0.2.0. Прошу прощения, может такая тема уже поднималась ранее. На тестовом сайте http://shipellina.h1n.ru на последнем шаге при нажатии Подтверждение заказа появляется след. ошибка: 2019-05-14 12:55:43 - PHP Warning: mail() has been disabled for security reasons in /var/www/shippell/data/www/shipellina.h1n.ru/system/library/mail/mail.php on line 77 2019-05-14 12:55:43 - PHP Warning: mail() has been disabled for security reasons in /var/www/shippell/data/www/shipellina.h1n.ru/system/library/mail/mail.php on line 77 2019-05-14 12:55:43 - PHP Warning: mail() has been disabled for security reasons in /var/www/shippell/data/www/shipellina.h1n.ru/system/library/mail/mail.php on line 77 при повторном нажатии на кнопку "Подтверждение заказа" появляется сообщение, что Ваш заказ успешно создан. Но ни на e-mail магазина, ни клиенту не пришли оповещения о заказе. Хотя в настройках магазина в разделе E-Mail оповещения стоит галочка получать оповещения при Заказе и указаны дополнительные адреса (e-mail магазина) для оповещения.
-
Насколько мне известно для того что бы xdebug работал с twig нужно указать путь к папке с кешом.Я пробывал 2 варианта C: \ OSPanel \ domains \ oc.test \ storage \ cache и C: \ OSPanel \ domains \ oc.test \ upload \ system \ storage \ cache но они оба не работают. Что я делаю не так?
-
Приветствую! Подскажите, может, кто сталкивался, необходимо к товару прикрепить аудио, для прослушивания звучания музыкального инструмента, может попадался такой модуль? Порекомендуйте, пожалуйста. Если нет, может кто возьмется написать?
-
Добрый день. Необходим аудит проекта. Не устраивает скорость ответа сервера, загрузки и отрисовки страниц и т.д. В первую очередь необходимо понять, как оптимизировать страницы категорий и товаров, далее главная и блог, страницы подборов. Пример по странице товара (кэш браузера отключен): Пример категории (кэш браузера отключен): В идеале стремление к TTFB < 200 мс, DOM < 1 c, Load < 2 c (по-другому все показатели Google Page Speed для мобильных и десктопов в зеленой зоне). От вас нужен понятный чек-лист по шагам, что сделать, чтобы этого добиться (минификация скриптов, более производительный сервер и т.д.) и что даст каждый шаг оптимизации (в цифрах не надо - понятно, что это "вилами по воде", но хотя бы как улучшит в общих чертах). ВАЖНО: Различные кэширователи - последний инструмент, о котором стоит вести речь. На это есть 2 причины: 1. Страниц у проекта много (35 К+) и все их не закэшируешь, но краулеры будут обходить все и будут считать, что в целом сайт - плохой. 2. Мы уже пробовали 2 раза внедрять кэширование на базе инструментов различных - начинает ехать верстка, перестают работать формы и тд. БЮДЖЕТ: 5 000 Р P.s. Если есть вопросы - задавайте, за технические и логические ошибки - не ругайте, ибо не программист и могу "плавать" в разных вопросах.
-
Notice: Undefined index: stock_status_id in /var/www/ch3de9dccf/www/oksana-dimitri.com/system/storage/modification/admin/model/catalog/product.php on line 7Warning: Cannot modify header information - headers already sent by (output started at /var/www/ch3de9dccf/www/oksana-dimitri.com/admin/controller/startup/error.php:34) in /var/www/ch3de9dccf/www/oksana-dimitri.com/system/library/response.php on line 36 вот такая ошибка когда добаляю товар. не могу найти причины. OcStore 3/0/2
-
Добрый день. Необходимо оптимизировать сайт под управлением OC3. Не устраивает низкая скорость загрузки страниц и категорий. Важно провести оптимизацию не с помощью кэшировшиков, а исправив архитектурные и логические ошибки.
-
Выкладываем на сайте товары , артикул заполняем такой же как у поставщика . Нужно создать модуль или с помощью АОП настроить обновление\загрузку фотографий для товаров по которым найдены совпадения артикула на сайте у поставщика . Постоянно возникает много мелких задач , ищем исполнителя который заинтересован в долгосрочном сотрудничестве . Требования к исполнителю : Опыт настройки модуля АОП Широкий кругозор в опенкарт 3 Рассматриваем разные форматы сотрудничества : Позадачно или по часам .
-
Всем привет, ребят как можно найти кусок кода если в файлах его нет, а гугл показует что он есть? Суть в чем я нашел так он должен выглядить в оргинале -> у меня почему то класс и home не отображаються вместо этого стоит другой класс! вот так он у меня! и как найти и исправить классы хз! Все файлы прошарил не где нет такого! Может как то подругому можно его вывести ? Вот ссылка на сайт!
-
Создаем магазин https://aroma-doterra.ru/ работает на OpenCart 3х + Unishop2 + SimplePars. Модуль парсинга работает с сайта doterra.com Нужно: 1. Настроить в OpenCart вариативность товаров, так как это принято в других CMS, но не принято в OpenCart. Все варианты в одной карточке (разные склады, объемы) 2. Коррективы текущих настроек парсинга + инструкции по его обслуживанию. 3. Простые визуальные коррективы + цветовая гамма и шрифты Подробно задание изложил здесь https://docs.google.com/document/d/1_9s1NDvjwCmt0sJCgosLUfAw_g5QTkv84Wps8jML1WE/edit#heading=h.kso68vj4czmo В Вашем отклике укажите: опыт решения подобных задач на OpenCart. Цена выполнения работы зависит от подхода выполнения задач и опыта исполнителя. Открыт к Вашим предложениям!
-
- simplepars
- настройка
-
(и ещё 2)
Теги:
-
Здравствуйте! Ищу модуль, с помощью которого можно создавать всплывающую строку с небольшим текстом и кнопкой. Строка должна быть на всю ширину сайта. Желательно возможность выставлять цвет строки, непрозрачность и цвет текста. Самому написать подобное не хватает навыков.
- 2 ответа
-
- opencart 3
- oc3
- (и ещё 2)
-
Долгосрочное сотрудничество в приоритете. Нужен грамотный программист с свежим взглядом для доработки функционала OC3. Задач много и они разные , в основном маленькие по верстке на фронте . Бывают и более сложные , типа написания модуля для рекомендованных остатков в маркетплейсы. Пишите , более подробное ТЗ кину в личку.
-
Доброго времени суток! На странице "контакты/связаться с нами" в форму нужно добавить поле "ваш телефон". Делаю по аналогии с полем "email", но в контроллере contact. php есть метод getEmail-и я не могу найти файл, где он прописан, чтобы создать по аналогии для телефона. Может кто-то имел опыт добавления телефона в эту форму? Я нашел подобную тему, но там для oc2...
-
Всем добрый день. Имеется сайт, для которого необходимо выставить часовой пояс "America/Denver". В php.ini прописал, в startup.php if (!ini_get('date.timezone')) { date_default_timezone_set('UTC'); } Заменил на date_default_timezone_set('America/Denver'); По итогу php время корректное, время в БД корректное, но время на сервере остаётся в UTC: Каким образом можно решить данную проблему без установки модулей, создающих дополнительные поля в базе данных (module_timezone и им подобные)?
-
Доброго времени суток! Подключаю в head файла header.twig кастомные js-скрипты (предварительно собранные и минифицированные в Gulp, на статичной версии сайта работают), путь верный (в devtools код 200), но по факту-не работают, не могу понять причину. Единственное-в консоли есть ошибка, но с этими же скриптами ее нет в статичной версии сайта
-
Здравствуйте, возникла необходимость в добавлении поля выбора количества товара в модуле вариантов товара, саму кнопку добавления покупки товара я сделал, но возикла проблема с выбором количества и добавления этого количества в корзину. Не хочет отправлять нужное количество в корзину код модуля с кнопкой <div class="prodvar-button"> <div class="form-group"> <label class="control-label" for="input-quantity">{{ entry_qty }}</label> <div class="input-group number-spinner"> <span class="input-group-btn"> <button class="btn btn-default" data-dir="dwn"><i class="fa fa-minus"></i></button> </span> <input type="text" name="quantity" value="{{ product['minimum'] }}" id="input-quantity" class="form-control text-center" /> <span class="input-group-btn"> <button class="btn btn-default" data-dir="up"><i class="fa fa-plus"></i></button> </span> </div> <input type="hidden" name="product_id" value="{{ product['product_id'] }}" /> <br /> <button type="button" id="button-cart" data-loading-text="{{ text_loading }}" class="btn btn-primary btn-lg btn-block">{{ button_cart }}</button> </div> </div> В кнопку <button type="button" id="button-cart" class="btn btn-primary btn-lg btn-block">{{ button_cart }}</button> добавлял атрибут onclick="cart.add('{{ product['product_id'] }}', $(this).parent().parent().find('.quantity_input').val());" работало только с onclick="cart.add('{{ product['product_id'] }}', {{ product['minimum'] }} но добавлял только 1 товар код для переключалки количества $(document).on('click', '.number-spinner button', function () { var btn = $(this), oldValue = btn.closest('.number-spinner').find('input').val().trim(), newVal = 1; if (btn.attr('data-dir') == 'up') { newVal = parseInt(oldValue) + 1; } else { if (oldValue > 1) { newVal = parseInt(oldValue) - 1; } else { newVal = 1; } } btn.closest('.number-spinner').find('input').val(newVal); }); Как сделать так чтобы было стандартное поле как с правой стороны и оно адекватно работало? в идеале нужно чтоб оно отправляло данные в попап корзину, с блоком справа код ниже работает $(function() { $.ajax({ type: 'get', url: 'index.php?route=extension/module/cart_popup/initcart', dataType: 'json', cache: false, success: function(json) { $.each($("[onclick^='"+json['add_function_selector']+"']"), function() { var product_id = $(this).attr('onclick').match(/[0-9]+/); $(this) .attr('onclick', 'call_cp(\'' + $(this).attr('onclick').match(/[0-9]+/) + '\',\'' + 'add' + '\');') .addClass('cp-call-button'); }); var product_id_in_page = $("input[name='product_id']").val(); $('#'+json['add_id_selector']) .unbind('click') .attr('onclick', 'call_cp(\'' + product_id_in_page + '\',\'' + 'add_option' + '\');'); if (json['cart_products']) { $.each(json['cart_products'], function(i,value) { $('[onclick="call_cp(\'' + value + '\',\'' + 'add' + '\');"]') .html('<i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">' + json['text_in_cart'] + '</span>') .attr('onclick', 'call_cp(\'' + value + '\',\'' + 'load' + '\');'); $('[onclick="call_cp(\'' + value + '\',\'' + 'add_option' + '\');"]') .html(json['text_in_cart']) .attr('onclick', 'call_cp(\'' + value + '\',\'' + 'load_option' + '\');'); }); } if (json['cart_products_vs_options']) { $.each(json['cart_products_vs_options'], function(i,value) { $('[onclick="call_cp(\'' + value + '\',\'' + 'add' + '\');"]') .html('<i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">' + json['text_in_cart'] + '</span>'); $('[onclick="call_cp(\'' + value + '\',\'' + 'add_option' + '\');"]') .html(json['text_in_cart_vs_options']); }); } } }); }); function call_cp(product_id, action) { quantity = typeof(quantity) != 'undefined' ? quantity : 1; if (action == "add") { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + quantity, dataType: 'json', cache: false, success: function(json) { if (json['redirect']) { location = json['redirect']; } if (json['success']) { cpInit(); call_cp(product_id,'load'); $('#cart-total').html(json['total']); } } }); } if (action == "load" || action == "load_option") { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/default/stylesheet/cart_popup/loading.svg" alt="" />', items: { src: 'index.php?route=extension/module/cart_popup', type: 'ajax' }, showCloseBtn: false }); $('.mfp-bg').css({ 'background': 'url(image/cart_popup/background/{{ cp_setting['style_beckground'] }})', 'opacity': '{% if cp_setting['background_opacity'] == 0 %}{{ cp_setting['background_opacity'] }}{% else %}{{ cp_setting['background_opacity']/10 }}{% endif %}' }); } if (action == "add_option") { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), dataType: 'json', cache: false, beforeSend: function() { $('#button-cart').button('loading'); }, complete: function() { $('#button-cart').button('reset'); }, success: function(json) { $('.alert, .text-danger').remove(); $('.form-group').removeClass('has-error'); if (json['error']) { if (json['error']['option']) { for (i in json['error']['option']) { var element = $('#input-option' + i.replace('_', '-')); if (element.parent().hasClass('input-group')) { element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } else { element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } } } $('.text-danger').parent().addClass('has-error'); } if (json['success']) { cpInit(); call_cp(product_id, 'load_option'); $('#cart-total').html(json['total']); } } }); } } подскажите пожалуйста что я не так сделал? и как мне это починить? Благодарю
-
Здравствуйте, есть ли возможность назначать опции не каждому товару, а всем товарам одной категории? Например, у меня есть категория смартфон, я хочу всем товарам, которые находятся в этой категории сделать одинаковые опции с одинаковыми значениями. В ручную каждому добавлять одно и то же долго. Может есть вариант с каким-нибудь модулем. Спасибо.
- 2 ответа
-
- opencart 3
- oc3
-
(и ещё 1)
Теги:
-
Хочу сделать простенький модификатор для отправки конверсий и их ценности в Google Ads. Возможно это будет первый модификатор который я бесплатно выложу здесь. Код собрал по частям. Есть больше сомнения что все сделал верно и вообще будет ли он корректно работать. 1.success.php(вторая операция) делал по аналогии с OC2x 2.success.twig переводил из php не уверен правильно ли сделал Буду очень благодарен за подсказки и исправления. <?xml version="1.0" encoding="utf-8"?> <modification> <name>Google conversion</name> <code>order-id-google-conversion</code> <version>1.0.0</version> <author>Vandeko</author> <link>https://192.168.0.1</link> <file path="/catalog/controller/checkout/success.php"> <operation> <search> <![CDATA[ if (isset($this->session->data['order_id'])) { ]]> </search> <add position="after"> <![CDATA[ $this->load->model('account/order'); $this->data['order_id'] = $this->session->data['order_id']; $this->data['order_info'] = $this->model_account_order->getOrder($this->session->data['order_id']); $this->data['order_totals'] = $this->model_account_order->getOrderTotals($this->session->data['order_id']); $this->data['order_products'] = $this->model_account_order->getOrderProducts($this->session->data['order_id']); $shipping = 0; foreach ($this->data['order_totals'] as $row) { if ($row['code'] == 'shipping') { $shipping = $row['value']; } } $this->data['shipping'] = $shipping; $tax = 0; foreach ($this->data['order_products'] as $row) { $tax = $tax + $row['tax']; } $this->data['tax'] = $tax; $this->cart->clear(); ]]> </add> </operation> <operation> <search> <![CDATA[ if ($this->customer->isLogged()) { $data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/account', '', true), $this->url->link('account/order', '', true), $this->url->link('account/download', '', true), $this->url->link('information/contact')); } else { $data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact')); } ]]> </search> <add position="replace"> <![CDATA[ if ($this->customer->isLogged()) { $data['text_message'] = sprintf($this->language->get('text_customer'), $this->language->get('order_info'), $this->url->link('account/account', '', true), $this->url->link('account/order', '', true), $this->url->link('account/download', '', true), $this->url->link('information/contact')); } else { $data['text_message'] = sprintf($this->language->get('text_guest'), $this->language->get('order_info'), $this->url->link('information/contact')); } ]]> </add> </operation> </file> <file path="/catalog/language/ru-ru/checkout/success.php"> <operation> <search> <![CDATA[ $_['text_success'] = 'Заказ принят'; ]]> </search> <add position="after"> <![CDATA[ $_['order_info'] = 'Номер вашего заказа:'; ]]> </add> </operation> </file> <file path="/catalog/language/uk-ua/checkout/success.php"> <operation> <search> <![CDATA[ $_['text_success'] = 'Замовлення прийнято'; ]]> </search> <add position="after"> <![CDATA[ $_['order_info'] = 'Номер вашого замовлення:'; ]]> </add> </operation> </file> <file path="/catalog/view/theme/tt_sharma1/template/common/success.twig"> <operation> <search> <![CDATA[ {{ text_message }} ]]> </search> <add position="replace"> <![CDATA[ <p>{{ order_info }} {{ order_id }}</p>{{ text_message }} ]]> </add> </operation> <operation> <search> <![CDATA[ {{ footer }} ]]> </search> <add position="after"> <![CDATA[ {% if order_id is defined %} <!-- Google Analytics - Ecommerce Tracking (Universal Analytics) --> <script type="text/javascript"> gtag('event', 'purchase', { "transaction_id": {{ order_id }}, "affiliation": {{ order_info.store_name }}, "value": {{ order_info.total }}, "currency": {{ order_info.currency_code }}, "tax": {{ tax }}, "shipping": {{ shipping }}, "items": [ {% for row in order_products %} "id": {{ row.model }}, "name": {{ row.name }}, "quantity": {{ row.quantity }}, "price": {{ row.price }} {% endfor %} ] }); </script> <!-- End Google Analytics - Ecommerce Tracking (Universal Analytics) --> <!-- Event snippet for Покупка товара conversion page --> <script> gtag('event', 'conversion', { 'send_to': 'Ваше из гугладвордса', 'value': {{ order_info.total }}, 'currency': {{ order_info.currency_code }}, 'transaction_id': {{ order_id }} }); </script> ]]> </add> </operation> </file> </modification>
- 6 ответов
-
- enhanced ecommerce
- google ads
- (и ещё 3)
-
Мелкие правки в шаблоне OC3
Djon опубликовал теме в Настройка и мелкая работа по уже существующему сайту
Сайт: test.domekor.ru Задача: Сделать мелкие правки в карточке товара: Вывести вес, размер и материал над блоком со стоимостью доставки. Наличие и кол-во товара перенести под кнопку "купить". Закомментировать раздел "характеристики". Все правки только через модификатор (либо отдельный, либо в уже созданный "общий"). На сайте установлен редактор модификаторов прямо в админке, что значительно упрощает работу. -
Модуль для вывода любого кол-во полей в админке
comrues опубликовал теме в Opencart 3.x: Поиск модулей
Есть ли такой модуль который сгенерирует нужные мне поля? которые я смогу вывести в админку? Эту нужно, что бы администратор мог редактировать кастомный контент не залезая в код. Версия ocStore 3.0.2.0 -
Правильно я понимаю, что $this->config->get('config_language') это код языка по-умолчанию (из конфига) $this->config->get('config_language_id') это ID языка, который используется сейчас?