Ответы пользователя по тегу OpenCart
  • Opencart2 Как получить фильртра товаров по категории и бренду?

    @89109983838 Автор вопроса
    Сам разобрался!

    Вернет группы фильтов по категории и бренду
    $category_id = 1;
    $manufacturer_id = 5; 
    $query = $this->db->query("SELECT DISTINCT f.name, f.filter_group_id FROM ".DB_PREFIX."filter_group_description f
    LEFT JOIN ".DB_PREFIX."filter l ON(f.filter_group_id = l.filter_group_id)
    LEFT JOIN ".DB_PREFIX."product_filter t ON(l.filter_id = t.filter_id)
    LEFT JOIN ".DB_PREFIX."product p ON(t.product_id = p.product_id)
    LEFT JOIN ".DB_PREFIX."product_to_category c ON(p.product_id = c.product_id)
    WHERE c.category_id = '".(int)$category_id."' AND p.manufacturer_id = '".(int)$manufacturer_id."'");

    Вернет фильтра По категории, бренду и группе фильтров
    $category_id = 1;
    $manufacturer_id = 5; 
    $filter_group_id;
    
    $query2 = $this->db->query("SELECT DISTINCT l.filter_id, l.filter_group_id, l.name FROM ".DB_PREFIX."filter_description l
    LEFT JOIN ".DB_PREFIX."product_filter t ON(l.filter_id = t.filter_id)
    LEFT JOIN ".DB_PREFIX."product p ON(t.product_id = p.product_id)
    LEFT JOIN ".DB_PREFIX."product_to_category c ON(p.product_id = c.product_id)
    WHERE l.filter_group_id = '" . $filter_group_id ."' AND c.category_id = '".(int)$category_id."' AND p.manufacturer_id = '".(int)$manufacturer_id."'");


    Но это так примеры, варианты их использовал в разных местах под конкретную задачу.
    Если кто знает более оптимальный вариант укажите буду благодарен!
    Ответ написан
  • Интеграция сайта с 1С. Где хранить товары: в 1С или в админке сайта?

    @89109983838
    если требуется в 1С фото номенклатуры и описания позиций не только для сайта, а к примеру для вывода прайсов с картинками и описаниями из 1С...
    или вы товары свои не знаете как выглядятя - а доступа к сайту нет,.
    или ЛЮБИТЕ 1С ........ и считаете 1С основай всего! :)
    то да есть смысл грузить в 1С.

    а так то вы только раздуваете базу особенно картинками, от чего тормаза! и повышаете шанс краха при обмене 1С с Opencart.

    1С для финансов а не "комбаин"... вот и логично использовать её для этого - и хранит там только Артикул, наименоване, цену (в ней формировать и грузить на сайт).

    а такто приходим к тому что быстрее, гибче и надежнее в 2 этапа:
    1) использовать Python для парсинга прайсов и сайтов постащиков для получения цен, в том числе и с маркета;
    формируем в нем же наценки;
    далее грузим розничную цену им же на сайт;
    сохраняем все в формате АРТ-ЦЕНА в файл xls;

    2) скармливаем xls в 1C

    самый нудный этап 2!!! т,к этап 1 проходит по одному счелчку и если бы не парсинг проходил за менее 10 сек (более 3000 позиций)!
    Ответ написан
  • Как исправить ошибку в опенкарт при выгрузке 1с?

    @89109983838
    У заказчика в выходные слетели все разделы на сайте - как понимаю в настройке модуля на стороне Opencart выставлено сбрасывать категории и т.д. при загрузке из 1С. думаю поэтому категории "слетели", а новые не создались т.к. выгрузка не прошла корректно! по причине что сервер WWW выдает 502 и связь с 1С обрывается!
    пробуйте грузить без фото из 1С для начала ... а дальше по ситуации!

    как вариант!
    1) очистите всю папку с картинками по пути "корень_сайта/image/import_files" через FTP,
    2) далее сделайте полную выгрузку из 1С - картинки по новой загрузятся.

    Хотя тут индивидуально!
    Ответ написан
  • Nginx возвращает содержимое php файла Opencart?

    @89109983838 Автор вопроса
    htaccess стандарт скажем так!
    Options +FollowSymlinks
    Options -Indexes
    <FilesMatch "\.(tpl|ini|log)">
     Order deny,allow
     Deny from all
    </FilesMatch>
    
    RewriteEngine On
    RewriteBase /
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

    ничего с этим связного нет!

    Дало в том почему nginx отдает выше указанное как статику, а не передаёт на обработку php5-fpm.
    ################################## ПОЗДНЕЕ###
    пол проблемы решилось элементарно:
    Оказывается файл php начинался с <? а не с <?php поэтому не воспринимался как скрипт php!!!!
    обрабатываться он начал! только целиком, а не отдельная в нем функция которую вызываем
    ..... public function order() { ....
    соответственно это тоже не функционально..... т.к. выдает не то что нужно!
    ####################
    Добавлю что в запросе передаются строковые данные методом post - может nginx их не передает??? поэтому и обработка слетает?
    ##############################РЕШЕНИЕ###############

    Отключение gzip в настрйоках nginx решило проблему с POST запрсами!
    Никто не подскажет как обойти это!? или думаю лучше создам отдельную тему!
    Ответ написан