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

mpn2005

Разработчик
  • Постов

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

  • Посещение

  • Победитель дней

    141

Решения сообщества

  1. Пост mpn2005 - сообщение в Как визуально отображать знак рубля (Лебедева), но в коде оставить руб. был отмечен как ответ   
    Ещё замену можно сделать на уровне php.
    В файле system/framework.php
    Перед строкой:
    $response->output();  
    Добавить вот это:
    if ($application_config == 'catalog') { $response->setOutput(str_replace(' руб.', '₽', $response->getOutput())); }  
    Результат:
     
  2. Пост mpn2005 - сообщение в Учитывать в заказе был отмечен как ответ   
    Скиньте в личку доступ в админку, и опишите, что там надо делать для обновления заказа в OrderPro.
    И номер заказа, с которым можно проверять.
  3. Пост mpn2005 - сообщение в Как изменить Условия оформления заказа? был отмечен как ответ   
    "Условия оформления заказа" - это статья.
    Зайдите в Каталог -> Статьи и измените нужную статью.
     
    Какая статья будет выводится как условия - можно выбрать в настройках магазина.
  4. Пост mpn2005 - сообщение в Ответы от ChatGPT на форуме - тестим - Инструкция к пользованию был отмечен как ответ   
    Тестируем ChatGPT
    Для того, что бы ChatGPT ответил на ваше сообщение
    Просто кликните на переключатель 1 - Хочу, чтобы  на это сообщение ответил ChatGPT
    и отправьте сообщение в тему нажав на 2 - Ответить
    В течении нескольких секунд ChatGPT с генерирует вам свой ответ.



    Ниже первый тест!

    Как установить модуль на OpenCart3?
  5. Пост mpn2005 - сообщение в Ошибка загрузки JSON был отмечен как ответ   
    Похоже какой-то модуль косячит и выкидывает из админке.
    Такое бывает если под ОС3 поставить модуль, который предназначен для ОС2.
     
    Попробуйте отключать недавно установленные модификаторы. Может повезёт и причина там.
  6. Пост mpn2005 - сообщение в Yandex SmartCaptcha OC3 [support] был отмечен как ответ   
    Yandex SmartCaptcha OC3
    Добавил mpn2005 Добавлено 13.05.2023 Категория Безопасность и Защита , Встраиваемые сервисы , Прочие Решения Просмотр файла  
  7. Пост mpn2005 - сообщение в Простая проблема с количеством в корзине был отмечен как ответ   
    В файле system/library/cart/cart.php находим вот это:
    'quantity' => $cart['quantity'],  
    И заменяем на это:
    'quantity' => (float)$cart['quantity'],  
  8. Пост mpn2005 - сообщение в Как убрать index.php/?route=common/home на главной странице опенкарт? был отмечен как ответ   
    Без СеоПро  придётся вносить правки в код.
    Надо править файл catalog/controller/startup/seo_url.php
     
    В двух местах строку:
    $url = ''; Заменить на это:
    $url = null;  
    Это:
    if ($url) { Заменить на это:
    if (isset($url)) {  
    После вот этой строки:
    parse_str($url_info['query'], $data); Вот это:
    if (isset($data['route'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "seo_url WHERE `query` = '" . $this->db->escape($data['route']) . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "' AND language_id = '" . (int)$this->config->get('config_language_id') . "'"); if ($query->num_rows) { $url = '/' . $query->row['keyword']; unset($data['route']); } }  
    Потом в модификаторах нажать кнопку "Обновить".
    Вот файл с уже внесёнными правками:
    seo_url.zip
     
    В штатной библиотеке сео урлов нет редиректа с не ЧПУ ссылки на ЧПУ. Поэтому если сайт давно работает, то стоит настроить редирект с "/index.php?route=common/home" на "/"
     
  9. Пост mpn2005 - сообщение в OpenCart PhpStorm autocomplete [support] был отмечен как ответ   
    OpenCart PhpStorm autocomplete
    Добавил mpn2005 Добавлено 20.04.2023 Категория Дополнительные инструменты Просмотр файла  
  10. Пост mpn2005 - сообщение в Дополнения и поддержка UA был отмечен как ответ   
    Техническая возможность есть.
    Дальше всё зависит от конкретных авторов. Пишите авторам в личку и уточняйте возможность переноса.
  11. Пост mpn2005 - сообщение в Главная категория был отмечен как ответ   
    В сборке для этого не нужна главная категория
    https://opencart.com.ru/test.html
     
    Крошки при этом отображаются с категориями.

     
    Если заходить в товар по другому пути, то будут другие крошки и url. В этом нет ничего страшного, т.к. там прописан canonical на основную ссылку товара.
     
    Добавление совместимости с сео-про стоит в планах на дальнейшее внедрение в сборку.
    Но такой подход уже прилично устарел с момента появления. Поисковики давно отлично работают с canonical.
    И теперь уже нет необходимости рушить дополнительную навигацию по сайту через крошки. 
    Если клиент пришёл в товар из производителя, то и крошки должны вести на производителя. Если клиент пришёл на товар из категории, то он должен видеть в крошках именно эту категорию, а не редирект на какую-то мифическую главную категорию.
  12. Пост mpn2005 - сообщение в Главные категории в MYSQL был отмечен как ответ   
    Вот таким запросом можно очистить все главные категории
    UPDATE oc_product_to_category SET main_category = 0  
  13. Пост mpn2005 - сообщение в ошибка на опенкарт 3.0.3.6. при просмотре заказа TokenStream.php on line 50 был отмечен как ответ   
    Как уже писали выше - причина не в самом twig, а в файле шаблона.
    Скорее всего, какой-то модификатор применился частично.
    Для начала пробуйте отключать все модификаторы или по очереди, если знаете, какой модификатор затрагивает страницу информации о заказе.
  14. Пост mpn2005 - сообщение в Пустые фото был отмечен как ответ   
    Этот вопрос лучше решить на уровне модели ресайза изображений.
     
    В файле  catalog/model/tool/image.php в самом начале вмсто вот этого:
    return;  
    Вот тут:

     
    Добавить это:
    $filename = 'no_image.png';
     
  15. Пост mpn2005 - сообщение в обновили CMS был отмечен как ответ   
    Для начала выкачайте себе текущую резервную копию.
    Чтобы было хоть что-то.
    Если файлы перетёрты, то можно сохранить хотя бы БД. Для магазина потерять базу - это очень плохо.
     
    А потом надо выяснять:
    1) Какая версия была до обновления?
    2) На какую версию произвели обновление?
     
    И только после этих вопросов решать, что можно сделать.
    Может там был магазин на OC2.3, а вам поставили "Свежак" OC4.
    Естественно ничего работать не будет.
  16. Пост mpn2005 - сообщение в Нужна консультация по работе роутинга в OpenCart3 был отмечен как ответ   
    Библиотека ЧПУ не подключает никакие контролеры.
    По значениям в ссылках формируется нужные get параметры, а потом идёт выполнение дальше.
    И движок уже по нужному route выполняет нужный контроллер.
     
    Вот часть кода, которая потом по параметрам прописывает нужный route:

     
    Это из файла: catalog/controller/startup/seo_url.php
    Но у вас ЧПУ может формироваться и другой библиотекой, тут уже зависит от используемой сборки и сторонних модулей.
  17. Пост mpn2005 - сообщение в Вывод в карточке товара 3 изображения вертикально был отмечен как ответ   
    Не совсем понятно описание.

    Если правильно понял, то так.
    html:
    <div class="test-block"> <img srs="test.png"> </div>  
    css:
    .test-block { max-width: 340px; max-height: 400px; overflow-y: scroll; } .test-block img { width: 100%; }  
    Вот пример
    https://jsfiddle.net/3u62ny0v/
  18. Пост mpn2005 - сообщение в Вывод определенных атрибутов в корзине и в письмах (админу и клиенту) на OcStore 3.0.3.7 был отмечен как ответ   
    Можно сделать такой правкой в system/library/cart/cart.php
     
    Перед строкой:
    $product_data[] = array(  
    Добавляем:
    $attribute_query = $this->db->query("SELECT pa.attribute_id, pa.text, ad.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (pa.attribute_id = ad.attribute_id) WHERE pa.attribute_id IN (5, 6) AND pa.product_id = '" . (int)$product_query->row['product_id'] . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "'"); foreach ($attribute_query->rows as $attribute) { $option_data[] = array( 'product_option_id' => 0, 'product_option_value_id' => '', 'option_id' => 0, 'option_value_id' => '', 'name' => $attribute['name'], 'value' => $attribute['text'], 'type' => 'attribute-' . $attribute['attribute_id'], 'quantity' => '', 'subtract' => '', 'price' => '', 'price_prefix' => '', 'points' => '', 'points_prefix' => '', 'weight' => '', 'weight_prefix' => '' ); }  
    Вот тут перечисляем ID атрибутов для вывода
    pa.attribute_id IN (5, 6)  
  19. Пост mpn2005 - сообщение в уведомление о наличии товара opencart был отмечен как ответ   
    Добрый день. Есть вот такой модуль.
     
  20. Пост mpn2005 - сообщение в Не загружаются стили opencart был отмечен как ответ   
    Скорее всего не настроили нормально https.
    Поправьте сонфиги config.php и admin/config.php
     
    Укажите там во всех параметрах ссылки только с https://
    Ссылок вида http:// там не должно быть.
     
    Например вот так в config.php:
    <?php // HTTP define('HTTP_SERVER', 'https://your-site.ru/'); // HTTPS define('HTTPS_SERVER', 'https://your-site.ru/'); ...  
    И в admin/config.php:
    <?php // HTTP define('HTTP_SERVER', 'https://your-site.ru/admin/'); define('HTTP_CATALOG', 'https://your-site.ru/'); // HTTPS define('HTTPS_SERVER', 'https://bonkyour-siteover.ru/admin/'); define('HTTPS_CATALOG', 'https://your-site.ru/');  
    Это связано с некоторыми историческими особенностями реализации https в opencart.
     
  21. Пост mpn2005 - сообщение в rel="canonical" для страниц пагинации в ocStore 2.3 был отмечен как ответ   
    Тогда вот так.
    Перед строкой:
    if ($limit && ceil($product_total / $limit) > $page) {  
    Добавьте вот это:
    if ($page > 1) { $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'canonical'); }  
    Но тут есть один момент, для второй страницы этот canonical перетрёт meta тег prev.
    Из коробки в движке идёт запись ссылок по url, и при совпадении они перетираются.
    А для второй страницы prev и canonical как раз будут совпадать.
     
    Если надо, то и это можно поправить. Но нужно будет доработать библиотеку system/library/document.php.
    Там надо вот эту строку:
    $this->links[$href] = array( Заменить вот на эту:
    $this->links[$rel.'_'.$href] = array(  
  22. Пост mpn2005 - сообщение в Скидки и акции на опции товаров был отмечен как ответ   
    Добрый день.
    Вот в этом модуле есть настройка акций на опции:
     
    Там есть такая настройка, которая будет давать акцию и на опции, пропорционально акции на товар:

  23. Пост mpn2005 - сообщение в Помогите перенести блок Сопутствующие товары в отдельный модуль был отмечен как ответ   
    Если всё сделали, но не работает - значит где-то что-то не так.
    Надо тогда отлаживать этот момент при выводе в определённом блоке.
    Смотреть что отрабатывает,  и почему не выводит.
     
    В первом посте слёту видно две ошибки.
    1) Настройки модуль получает как параметр функции index

     
    2) У вас в коде нет вообще никакой обработки по выводу. Модуль поработал, но ничего не вернул.
    А должно быть так:

     
    Самый просто способ - это взять встроенный модуль и по его аналогии сделать свой.
    Можно например взять такой:
    catalog/controller/extension/module/featured.php
     
  24. Пост mpn2005 - сообщение в Как вывести шапку поле email и адрес был отмечен как ответ   
    Нужных переменных может не быть в контроллере.
    Поэтому, перед выводом, сначала их нужно добавить на уровне контроллера.
     
    В файле catalog/controller/common/header.php
    Можно добавлять сразу после вот этой строки:
    $data['telephone'] = $this->config->get('config_telephone');  
    Например добавим поле email:
    $data['email'] = $this->config->get('config_email');  
    А потом можно уже выводить в шаблоне:
    <a href="mailto:{{ eamil }}">{{ eamil }}</a>  
     
    Чтобы узнать как называется нужный параметр в конфигурации, можно подсмотреть в админке инспектором браузера:
     
  25. Пост mpn2005 - сообщение в Дубли БД был отмечен как ответ   
    Ещё как вариант - вы удаляли товары через БД, но удалили записи не во всех таблицах.
    И в таблице oc_product_to_store остались старые записи.
    Посмотрите какое максимальное значение поля product_id в таблице oc_product_to_store и в oc_product.
    Они должны совпадать. Если не совпадают, значит есть старые записи, которые нужно почистить.
×
×
  • Создать...