Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Поиск по сайту

Результаты поиска по тегам 'php'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Основной
    • Новости и анонсы
    • Предложения и пожелания
    • Акции, подарки, конкурсы и награды
  • Opencart 4.x
    • Opencart 4.x: Общие вопросы
    • Opencart 4.x: Установка и обновление
    • Opencart 4.x: Локализация
    • Opencart 4.x: Настройка и оптимизация
    • Opencart 4.x: Песочница
    • Opencart 4.x: Поиск модулей
    • Opencart 4.x: Отчёты об ошибках
  • Opencart 3.x
    • Opencart 3.x: Общие вопросы
    • Opencart 3.x: Установка и обновление
    • Opencart 3.x: Локализация
    • Opencart 3.x: Настройка и оптимизация
    • Opencart 3.x: Песочница
    • Opencart 3.x: Поиск модулей
    • Opencart 3.x: Отчёты об ошибках
  • Opencart 2.x
    • Opencart 2.x: Общие вопросы
    • Opencart 2.x: Установка и обновление
    • Opencart 2.x: Локализация
    • Opencart 2.x: Настройка и оптимизация
    • Opencart 2.x: Песочница
    • Opencart 2.x: Поиск модулей
    • Opencart 2.x / ocStore 2.x: Отчёты об ошибках
  • Реклама и продвижение
    • SEO-вопросы (оптимизация и продвижение магазина)
    • Контекстная реклама
    • Торговые площадки
    • E-commerce tracking и бизнес аналитика
    • Разное
  • Поддержка и ответы на вопросы
    • Общие вопросы
    • Установка, обновление, настройка
    • Шаблоны, дизайн и оформление магазина
    • Модули и дополнения
    • Помощь программистам и разработчикам
    • Мобильная витрина
    • Вопросы безопасности
    • Перевод
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Услуги
    • Создание магазинов под ключ
    • Дизайн, верстка и шаблоны
    • Программирование, создание модулей, изменение функциональности
    • Настройка и мелкая работа по уже существующему сайту
    • Обновление версии движка магазина
    • Наполнение магазина
    • Системное администрирование (настройка хостинга, серверов, ПО)
    • Другие услуги
  • Разное
    • Пользовательские обзоры дополнений
    • Примеры сайтов на OpenCart (ocStore)
    • Курилка
    • Предложения по улучшению

Категории

  • Шаблоны
    • Бесплатные шаблоны
    • Платные шаблоны
  • Фильтры
  • Цены, скидки, акции, подарки
  • Реклама и продвижение
  • Бонусы, купоны, программы лояльности
  • Блоги, новости, статьи
  • Покупки, оформление заказа, корзина
  • Опции
  • Атрибуты
  • Серии, Комплекты
  • Поиск
  • SEO, карта сайта, оптимизация
  • Кэширование, сжатие, ускорение
  • Платежные системы
  • Доставки
  • Редакторы
  • Меню, дизайн, внешний вид
  • Слайдшоу, баннеры, галереи
  • Письма, почта, рассылки, sms
  • Обратная связь, звонки
  • Обмен данными
  • Учет в заказе
  • Сравнения, закладки
  • Социальные сети
  • Парсеры
  • Модули
  • Инструменты, утилиты
  • Лицензии
  • Языковые пакеты
  • Прочее
  • Отчеты
  • Сборки
    • ocStore
  • Услуги
    • Графика и дизайн
    • Маркетинг

Категории

  • Служебные документы
  • Оплата
  • Документация Opencart

Категории

  • Общие вопросы
  • Покупка дополнений
  • Для разработчиков
  • Аккаунт
  • Техническая поддержка
  • Финансовый отдел

Блоги

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • Прожектор Бритни Спирс
  • Layk
  • Продвижение интернет-магазина, seo оптимизация
  • Записная книжка
  • Блог RGB
  • Модули которые сделают сайт лучше
  • Блог веб-студии NeoSeo
  • Useful IT
  • Записи
  • Найденные решения проблем с Opencart
  • ocdroid blog
  • Заметки на полях...
  • Pimur
  • Серж Ткач
  • О жизни, смерти, о бизнесе и Опенкарте
  • Просто мысли от laim731
  • Маркетинг и продвижение интернет-магазина
  • Мой копирайтинг
  • SEO боксинг специального назначения
  • Get-Web Dev
  • Seok
  • Блоги sitecreator-а
  • Best practice
  • Vlad-Egorov-Blog
  • Блог spectre
  • commanddotcom
  • Внимание мошенники
  • Наблюдения обычного человека
  • Блог Rassol2
  • Блог Exploits
  • блог для натуралов
  • Настюша, тут есть темы
  • Пропитано рекламой
  • Tutorial
  • ОтВинта
  • Tg chnls
  • Блог
  • Блог sv2109
  • КАК ОРГАНИЗОВАТЬ НОВОСТНЫЕ ПОДПИСКИ НА БАЗЕ API OPENCART 3/0/2
  • VDS/VPS, серверы под Linux: установка, настройка, оптимизация
  • IT блог
  • Блог
  • Opencart SEO
  • Путёвые заметки о работе магазина NiceBike на платформе OpenCart
  • Blondi Blog
  • Полезные статьи, новости.
  • Блог владельца магазина
  • Хостинг для OpenCart
  • разное
  • ПРОДАЖА АКАУНТОВ-binance ВЕРИФИЦИРОВАННЫe ЧИСТЫЕ УСПЕВАЙТЕ КУПИТЬ ПО НИЗКОЙ ЦЕНЕ
  • Диспансеризация
  • wozobat
  • quasarbyte
  • Мой блог
  • Igorych
  • aaaaa
  • 👌🔊Bellsouth CUSTOMER support number 1+(8O8)678=9O64-☎phone number
  • Liudmila marketer
  • Заметки реалиста

Искать результаты в...

Искать результаты, содержащие...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

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

  • Начать

    Конец


Группа


Сайт


Skype


Город:


Интересы

  1. Доброго дня. Є такий код (в для певних варіантів доставки він або віднімає вартість доствки з тотал, або додає): В першому випадку все завжди працює ідеально, а для weight.weight_6 та weight.weight_5 інколи (не завжди) двічі додає вартість доставки. Як тут: Можливо, я десь помилився і цього не бачу? Буду вдячний за підказку.
  2. Добрый день. Нужно настроить резервное копирование для сайта и базы данных ocstore 2.3 Сайт на vps turbohost. Посмотреть конфигурацию, если что-то надо - донастроить. Разобраться с версией php, стоит native 5.6, альтернативная 7.2 (правильно ли это). Исполнитель из ******ы
  3. Доброго времени суток. Помогите плиз, нужно данные из корзины вставить в письмо заказа. Обработчик не от опенкарт.
  4. ArtemPitov

    Новости PHP

    Для тех кто не следит за жизнью php, тут недавно поехал 7.3 THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! Что критичного ? регулярки переехали с PCRE на PCRE2 Оф информация http://php.net/archive/2018.php#id2018-09-13-2 Информация на хабре https://habr.com/post/422507/
  5. Здравствуйте. Создаю поле в админке в настройках на вкладке витрина. Вот код; <spoiler> <file path="admin/controller/setting/setting.php"> <operation error="skip"> <search><![CDATA[$data['entry_google_analytics'] = $this->language->get('entry_google_analytics');]]></search> <add position="after"><![CDATA[$data['entry_config_min_price_order'] = $this->language->get('entry_config_min_price_order'); $data['entry_config_nomer_group'] = $this->language->get('entry_config_nomer_group');]]></add> </operation> <operation error="skip"> <search><![CDATA[$data['config_fax'] = $this->config->get('config_fax');]]></search> <add position="after" offset="2"><![CDATA[if (isset($this->request->post['config_min_price_order'])) { $data['config_min_price_order'] = $this->request->post['config_min_price_order']; } else { $data['config_min_price_order'] = $this->config->get('config_min_price_order'); } if (isset($this->request->post['config_nomer_group'])) { $data['config_nomer_group'] = $this->request->post['config_nomer_group']; } else { $data['config_nomer_group'] = $this->config->get('config_nomer_group'); } if (isset($this->request->post['nomer_group_2'])) { $data['config_nomer_group_2'] = $this->request->post['config_nomer_group_2']; } else { $data['config_nomer_group_2'] = $this->config->get('config_nomer_group_2'); } if (isset($this->request->post['nomer_group_3'])) { $data['config_nomer_group_3'] = $this->request->post['config_nomer_group_3']; } else { $data['config_nomer_group_3'] = $this->config->get('config_nomer_group_3'); } if (isset($this->request->post['nomer_group_4'])) { $data['config_nomer_group_4'] = $this->request->post['config_nomer_group_4']; } else { $data['config_nomer_group_4'] = $this->config->get('config_nomer_group_4'); } if (isset($this->request->post['nomer_group_5'])) { $data['config_nomer_group_5'] = $this->request->post['config_nomer_group_5']; } else { $data['config_nomer_group_5'] = $this->config->get('config_nomer_group_5'); } if (isset($this->request->post['nomer_group_6'])) { $data['config_nomer_group_6'] = $this->request->post['config_nomer_group_6']; } else { $data['config_nomer_group_6'] = $this->config->get('config_nomer_group_6'); } if (isset($this->request->post['nomer_group_7'])) { $data['config_nomer_group_7'] = $this->request->post['config_nomer_group_7']; } else { $data['config_nomer_group_7'] = $this->config->get('config_nomer_group_7'); }]]></add> </operation> </file> <file path="admin/view/template/setting/setting.tpl"> <operation error="skip"> <search><![CDATA[<input type="text" name="config_fax" value="<?php echo $config_fax; ?>" placeholder="<?php echo $entry_fax; ?>" id="input-fax" class="form-control" />]]></search> <add position="after" offset="2"><![CDATA[<div class="form-group"> <label class="col-sm-2 control-label" for="input-fax"><?php echo $entry_config_min_price_order; ?></label> <div class="col-sm-10"> <input type="text" name="min_price_order" value="<?php echo $config_min_price_order; ?>" placeholder="<?php echo $config_min_price_order; ?>" class="form-control" /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label" for="input-fax"><?php echo $entry_config_nomer_group; ?></label> <div class="col-sm-10"> <td><input style="width: 40px;" type="text" name="nomer_group" value="<?php echo $config_nomer_group; ?>" /><input style="width: 40px;" type="text" name="nomer_group_2" value="<?php echo $config_nomer_group_2; ?>" /><input style="width: 40px;" type="text" name="nomer_group_3" value="<?php echo $config_nomer_group_3; ?>" /><input style="width: 40px;" type="text" name="nomer_group_4" value="<?php echo $config_nomer_group_4; ?>" /><input style="width: 40px;" type="text" name="nomer_group_5" value="<?php echo $config_nomer_group_5; ?>" /><input style="width: 40px;" type="text" name="nomer_group_6" value="<?php echo $config_nomer_group_6; ?>" /><input style="width: 40px;" type="text" name="nomer_group_7" value="<?php echo $config_nomer_group_7; ?>" /></td> </div> </div>]]></add> </operation> </file> </spoiler> В таблице `oc_setting` по ключу нашел config_fax скопировал, поменял значения и сохранил. На вкладке Витрина значение появилось. Нажимаю "сохранить" и все, значение, ключ и т.д. как не было. Что делать? Спасибо.
  6. Добрый вечер. Подскажите, как протащить <?php echo $review['author']; ?> из review.tpl в product.tpl. Пробовал разные варианты, ничего не выходит.
  7. Как передать POST параметр через ajax в файл controller модуля OpenCart ? Есть модуль "latest" Файл контроллера latest.php, нужно передать туда параметр width через Ajax/Jquery Как обратится к этому файлу? Как работать с Ajax знаю, как параметры передать знаю, как принять знаю, но как обратится к нужному файлу в OpenCart? При попытках обращения по "url:' скрипт выдает ошибку "404 (not found)" Пробовал вот так: url: 'index.php?route=extension/module/latest', url: 'index.php?route=module/latest', url: '/catalog/controller/extension/module/latest', Если перейти на прямую по ссылки: "/catalog/controller/extension/module/latest.php" выдает ошибку HTTP ERROR 500
  8. Добрый день помогите выбрать добить модуль личных количественных скидок на каждого пользователя отдельно в ограниченном виде! Получается 1) Можно сравнить количество скидок на товар и количество купленных товаров пользователей(только авторизованные будут) сравнивая по айди товара и купленого товара минусовать количество скидок от купленного товара и выводить есть ли скидочный товар или же нет( или какое количество осталось). 2) Я вывел sql запросом уже в пользователе количество скидочных товаров минус количество купленного товара по айди ----- и теперь нужно по айди сравнить купленный товар и товар связать и по полю kolichestvo которое получилось в пользователе смотреть Kol=>0 ? или меньше и тд Как лучше сделать? Как связать купленный товар(этим пользователем) и товар на сайте? В файле который добавил в этот вопрос есть код корзины где осуществил все (jan - это количество скидок на товар) cart.php
  9. Добрый день. Стоит задача сделать отдельную кнопку с выводом личного кабинета. И все достаточно просто, но тут я столкнулься с очень дурацкой проблемой. Мне нужно выводить только первые буквы имени и фамилии (по аналогии телеграма) И я не могу понять как правильно это сделать Если в tamplate/comoh//header я делаю так То фамилия просто перестает выводиться (я на всякий случай попробовал ставить туда 1 и 2 - эффект тот же) Сейчас выводиться так а должно получиться так Выручайте, я подозреваю что решение достаточно простое, но мое не знание php сталкивает меня с такой проблемой:(
  10. Добрый день!Возможно кто-то сталкивался, в чем может быть проблема?При обновлении модификаторов в админке, вылазит ошибкаи не пускает в админку.При удалении этого файла, ошибка исчезает и доступ в админку появляется.Что и с чем может конфликтовать и как решить проблему?
  11. Здравствуйте уважаемые форумчане. Прошу подсказки у тех кто имеет опыт настройки php для парсеров, демонов либо других "долгоиграющих" скриптов. Суть такая пишу скрипт загрузки товаров в интернет магазин из xml прайса. Столкнулся с той проблемой что на моем сервере парсер отрабатывает нормально, однако на хостинге клиента прекращает работу спустя 20-60 минут после запуска. В итоге я решил проверить как долго вообще будет выполнятся php скрипт на клиентском хостинге, для проверки написал что то вроде демона: <?php ini_set('max_execution_time', 0); set_time_limit(0); ini_set("memory_limit", "128M"); ignore_user_abort(true); ini_set('error_reporting', E_ALL); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); function shutdown() { file_put_contents(__DIR__ . '/log/shutdown_log.txt', 'Выполнили функцию shutdown!'.PHP_EOL, FILE_APPEND); $err_arr = error_get_last(); $err = 'type - '.$err_arr['type'] . ' | message - '. $err_arr['message'] . ' | file - '.$err_arr['file']. ' | line - '.$err_arr['line']; file_put_contents(__DIR__ . '/log/shutdown_log.txt', $err, FILE_APPEND); } function sig_handler($signo) { $info = "\n" . 'received signal ' . $signo . "\n"; $info .= "\n" . 'Выполнили функцию sig_handler! ' . $signo . "\n"; file_put_contents(__DIR__ . '/log/sig_handler_log.txt', $info.PHP_EOL, FILE_APPEND); $err_arr = error_get_last(); $err = 'type - '.$err_arr['type'] . ' | message - '. $err_arr['message'] . ' | file - '.$err_arr['file']. ' | line - '.$err_arr['line']; file_put_contents(__DIR__ . '/log/sig_handler_log.txt', $err, FILE_APPEND); exit; } register_shutdown_function('shutdown'); declare(ticks = 1); pcntl_signal(SIGTERM, "sig_handler"); pcntl_signal(SIGINT, "sig_handler"); $time = date('H-i-s'); file_put_contents(__DIR__ . '/log/time_test_ON.txt', $time); while(true){ $time = date('H-i-s'); file_put_contents(__DIR__ . '/log/time_test_log.txt', $time); sleep(1); } После запуска демона через консоль, он прекращает работу примерно через 20 минут, при этом shutdown() и sig_handler() - никаких логов не создают. Хотя если убить скрипт через консоль командой kill pid то обе функции отрабатывают нормально, то есть логи создаются. В общем я в тупике, предполагаю что это некое ограничение на хостинге, однако не могу понять в чем именно оно состоит и как его пофиксить. Вот phpinfo хостинга. Сам хостинг расположен на twinservers.net панель управления Cpanel, судя по выделенной памяти похож на vps но точно я не уверен.
  12. Добрый день всем! У меня такой вопрос, в общем закончил я свой проект. Такой простенький интернет магазин роллов, все уже готово, типа мобилки и тд. И я хочу понять как теперь, с чего начать натяжку на опенкарт, то есть можно ли просто взять дефолтный шаблон и изменить его под свой макет?
  13. Здравствуйте! Нужна Ваша помощь! Ситуация следующая. OpenCart 1.5.6 В корзине покупок есть несколько товаров. Естественно что у каждого есть возможность удаления по кнопке. Однако, необходимо чтобы один из товаров автоматически удалялся из корзины (не просто из списка отображения в корзине, а полностью из корзины и не попадал в список при оформлении заказа), т.е. либо при генерации самой страницы "Корзина покупок", либо при переходе с этой страницы на страницу оформления (при нажатии кнопки "Оформление заказа").
  14. Хотел узнать, если использовать данный код в шаблоне header.tpl для получения получения полного url-адреса, то это как сказывается на общей безобразности сайта или нет? $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; Данную переменную я хочу использовать чтобы выводить определенный текст при условии нахождения в url опреденных меток.
  15. Здравствуйте уважаемые форумчане. Прошу помощи. Нужно вывести текст в корзину, для товаров которые на складе стоят в количестве = 1. Сделали условие что если товар 1 то показывать под заказ, теперь нужно уведомить покупателя в корзине о том что если товар под заказ, то он не подлежит возрату и обмену. Подскажите как можно реализовать?
  16. Здравствуйте. Нужно поставить код Фейсбук пикселя с событием на сайт. Как поставить глобальный код - понятно, только вот для страницы /index.php?route=checkout/success нужно с событием. Придумал реализовать это через PHP конструкцию: если страница = /index.php?route=checkout/success, то: КОД1 в противном случае: КОД2 Уважаемые гуру, набросайте пожалуйста мне эти пару строк на PHP. Заранее благодарен.
  17. Парни, всем привет! Сломал себе весь мозг. Стоит задача opencart должен собрать данные из двух полей и после записать из в бд. Но я сейчас не могу от него добиться того, что бы он проверил длину строк хотя бы в чем я идиот??? Код tpl: <form id="form_add_store"> <div id="add_store"> <!-- Название магазина --> <div class="form-group"> <label class="col-sm-2 control-label" for="input-storage"><?php echo $add_store_name; ?></label> <div class="col-sm-10"> <input name="store_name" class="form-control" placeholder="<?php echo $add_store_name_placeholder ?>"> </div> </div> <!-- Поддомен магазина --> <div class="form-group"> <label class="col-sm-2 control-label" for="input-storage"><?php echo $add_store_domain; ?></label> <div class="col-sm-10"> <input name="store_domain" class="form-control" placeholder="<?php echo $add_store_domain_placeholder ?>"> </div> </div> <button type="button" id="add_store_button" data-loading-text="<?php echo $write_text_loading; ?>" class="btn btn-primary pull-right"><?php echo $add_store_button; ?></button> </div> </form> Код JS: <script> $('#add_store_button').on('click', function() { $.ajax({ url: 'index.php?route=extension/module/gincore_integration/add_store', type: 'post', dataType: 'json', data: $("#form_add_store").serialize(), beforeSend: function() { $('#add_store_button').button('loading'); }, complete: function() { $('#add_store_button').button('reset'); }, success: function(json) { $('.alert-success, .alert-danger').remove(); if (json['error']) { $('#add_store').after('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>'); } if (json['success']) { $('#add_store').after('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>'); $('input[name=\'store_name\']').val(''); $('input[name=\'store_domain\']').val(''); } } }); }); </script> И код контроллера: public function add_store() { $this->load->language('extension/module/gincore_integration'); $json = array(); if ($this->request->server['REQUEST_METHOD'] == 'POST') { if ((utf8_strlen($this->request->post['store_name']) < 3) || (utf8_strlen($this->request->post['store_name']) > 25)) { $json['error'] = $this->language->get('error_store_name'); } if ((utf8_strlen($this->request->post['store_domain']) < 25) || (utf8_strlen($this->request->post['store_domain']) > 1000)) { $json['error'] = $this->language->get('error_store_name'); } if (!isset($json['error'])) { $json['success'] = $this->language->get('success_add_store'); } } } Подскажите кто - нибудь в чем я баран, я понимаю, что это ятормоз но не могу допереть в чем
  18. Управление сео данными Требуется вывести сборные ссылки фильтра в рамках категории, с указанием позиции их размещения и сео данными К примеру, генерируется ссылка фильтра https://supershtrih.ru/shtrih-kodirovanie-i-identifikaciya/printery-etiketok/klass-printera:vstraivaemyy создаем в админке новые ссылки в рамках отобранной категории http://joxi.ru/Dr8Mqj4uzD56am при создании открывается окно куда вписываем: 1. сео данные 2. ссылку фильтра 3. категория, выбранная по фильтру (но можно отредактировать) 4. выбираем положение (Up, down,Left) – используется при выводе (ниже по модулям описано) 5. Группу заголовка 6. Ручной ввод При сохранении записываем дату правки и ставим галку «ручной ввод» - которую надо вывести в списке (т.е. мы ставим ее после изменения данных) и эта галка должна быть видна Используемые таблицы (тут мои записи по таблицам, может надо будет переиграть) Таблица ссылок oc_fasturl (позицию – вывести в модуль) (добавить дату изменения) Вывести из таблицы oc_link_seo сео данные на странице ссылки из таблицы oc_fasturl В категориях вывести сео данные которые записаны в соответствующей таблице, при сохранении – фиксируем дату изменения - Ставим галку ручной ввод Делаем отдельный для товаров с деревом категорий (фильтром по категориям) По итогу сортировка по дате и галке ручной ввод Итого: Есть сео данные в категории/производители/фильтры/ товары/блог/макеты – выводим их, иначе генерируется налету с макета (есть функционал) Далее Создаем три модуля по аналогии с http://joxi.ru/n2YxwvZTZ0BDBm Произвольные ссылки в категории 1. Часто ищу UP 2. Часто ищу Down 3. Часто ищу Left Далее выводим в соответствии с макетом на сайте По каждому из разделов генерируется и обновляется xml карта по аналогии с сайт мап В принципе основа модуля есть, сейчас не хватает рук его доделать, есть разработчик который может рассказать что делал и где остановился Общаюсь в скайпе, умение работы с гитом приветствуется Плачу 10- ку за реализацию, или по вашему предложенному тарифу
  19. Вроде пишу style="display:none" в guest.twig. А форма все равно высвечивается.
  20. Добрый день друзья, появилась задача настроить электронную коммерцию на сайте, почитал тутриал на яндексе, вставил скрипт в футуре своего сайта: <script type="text/javascript"> window.dataLayer = window.dataLayer || []; window.dataLayer.push({ "ecommerce": { "add": { "products": [ { "id": "<?php echo $product_id; ?>", "name": "<?php echo $heading_title; ?>", "price": "<?php if (!$special) { ?><?php echo $price; ?><?php } else { ?><?php echo $special; ?><?php } ?>", "brand": "<?php echo $manufacturer; ?>", "category": "<?php echo $category_info; ?>" } ] } } }); </script> Проверяю, и на переменные $product_id; $heading_title; $category_info - ругается. PHP Notice: Undefined variable. Почему не могу понять, куча всего перечитал перелистал не могу найти решения. Использую opencart 2.2
  21. Здравствуйте Необходимо перевязать домены у интернет-магазина (изменить старый домен на новый) Сервер останется старый, где хранится сайт читал, что из-за смены домена может сломаться функционал сайта.... те в случае необходимости настроить работу старых модулей в сайте: корзина - смс - yml файл, настроена работа скриптов по работе с гугл таблицами те на выходе изменить домен и сохранить старую работоспособность
  22. Добрый день. В корне сайта есть у меня скрипт, в котором мне нужно получить имя текущего пользователя OC, который вошел на сайт. Прописываю в нем следующее: require($_SERVER['DOCUMENT_ROOT'].'/system/library/cart/customer.php'); ... if ($this->customer->isLogged()) { return $this->customer->getFirstName(); } ... но имя пользователя не получаю. Что делаю не так? Правильный ли файл выбрал для require? Возможно, файл моего скрипта лучше переместить в какой-либо другой каталог (чтобы не пришлось использовать require), но для примера выбрал корневой каталог сайта. И вообще... Где можно почитать документацию по OpenCart для разработчиков на русском?
  23. Доброго времени суток. Есть сайт на ocStore 2.3.0.2.3, установлен модуль Mega Filter PRO, на сайте у каждого товара присутствует 3 типа цен, розничная, оптовая от 3000 руб. и оптовая от 30000 руб.. В фильтре, в графе минимальная цена, отображается розничная цена. Подскажите, пожалуйста, как сделать так чтобы значение минимальной цены в фильтре бралось из оптовой от 30000 руб., а не из розничной.
  24. Добрый день. Недавно на сайте появилась проблема. Перестало корректно работать отображение товаров в категории. https://molli.com.ua/igrushki/dekorativnye/ Не могу понять в чем причина. OPencart 3.0, шаблон Debaco. Помогите найти решение, в какую сторону смотреть ?
  25. Нужна помощь, не могу разобраться в sql запросе. в /catalog/model/catalog/product.php есть функция: public function getProduct($product_id) { $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special,(SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND pr.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); if ($query->num_rows) { return array( 'product_id' => $query->row['product_id'], 'name' => $query->row['name'], 'description' => $query->row['description'], 'meta_title' => $query->row['meta_title'], 'meta_description' => $query->row['meta_description'], 'meta_keyword' => $query->row['meta_keyword'], 'tag' => $query->row['tag'], 'model' => $query->row['model'], 'sku' => $query->row['sku'], 'upc' => $query->row['upc'], 'ean' => $query->row['ean'], 'jan' => $query->row['jan'], 'isbn' => $query->row['isbn'], 'mpn' => $query->row['mpn'], 'location' => $query->row['location'], 'quantity' => $query->row['quantity'], 'stock_status' => $query->row['stock_status'], 'image' => $query->row['image'], 'manufacturer_id' => $query->row['manufacturer_id'], 'manufacturer' => $query->row['manufacturer'], 'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']), 'special' => $query->row['special'], 'reward' => $query->row['reward'], 'points' => $query->row['points'], 'tax_class_id' => $query->row['tax_class_id'], 'date_available' => $query->row['date_available'], 'weight' => $query->row['weight'], 'weight_class_id' => $query->row['weight_class_id'], 'length' => $query->row['length'], 'width' => $query->row['width'], 'height' => $query->row['height'], 'length_class_id' => $query->row['length_class_id'], 'subtract' => $query->row['subtract'], 'rating' => round($query->row['rating']), 'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0, 'minimum' => $query->row['minimum'], 'sort_order' => $query->row['sort_order'], 'status' => $query->row['status'], 'date_added' => $query->row['date_added'], 'date_modified' => $query->row['date_modified'], 'viewed' => $query->row['viewed'] ); } else { return false; } } В ней есть sql запрос, в котором я не могу разобраться. На примере акционного товара, подскажите, пожалуйста, как изменить этот запрос так, чтобы он вывел не 1 цену, как сейчас, а все цены, которые установлены во вкладке Акция, например 5 записей. В итоге хотел бы по определенному условию показывать нужную мне цену. Изменение/удаление LIMIT приводит к ошибке.
×
×
  • Создать...

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

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