Хорошая тема. Любые вопросы по CS-Cart и не только

Спасибо

Остановились на запросе ниже

SELECT COUNT(DISTINCT pc.product_id)
FROM cscart_products_categories pc
 INNER JOIN cscart_products p ON p.product_id = pc.product_id AND p.status = 'A'
WHERE category_id IN (SELECT DISTINCT category_id
            FROM cscart_categories
            WHERE id_path LIKE '42'
                OR id_path LIKE '42/%'
                OR id_path LIKE '%/42/%'
                OR id_path LIKE '%/42');
1 лайк

Подскажите ,как можно удалить не установленный модуль ?
Из-за него в строке выбора перевозчика появилась вторая строка “боксберри”

Спойлер


Вручную из файловой системы

В каком файле смотреть и строки кода какие (примерно)?

Я обычно подключаюсь через filezilla и удаляю вот по этим путям.

app/addons/ADDON

js/addons/ADDON

design/backend/templates/addons/ADDON

design/backend/mail/templates/addons/ADDON

design/backend/css/addons/ADDON

var/themes_repository/THEME/templates/addons/ADDON

var/themes_repository/THEME/mail/templates/addons/ADDON

var/themes_repository/THEME/css/addons/ADDON -

var/langs/LANG/addons/ADDON.po

1 лайк

у меня эта функция как одна из многих в одном большом модуле, но смотрю это довольно востребовано )) наверно выделю в небольшой модуль )
я использую вот такую схему для чистки

            $addon_dir = [
                    '/app/addons/',
                    '/design/backend/css/addons/',
                    '/design/backend/mail/media/images/addons/',
                    '/design/backend/mail/templates/addons/',
                    '/design/backend/media/images/addons/',
                    '/design/backend/templates/addons/',

                    '/design/themes/[*]/css/addons/',
                    '/design/themes/[*]/mail/media/images/addons/',
                    '/design/themes/[*]/mail/templates/addons/',
                    '/design/themes/[*]/media/images/addons/',
                    '/design/themes/[*]/templates/addons/',

                    '/js/addons/',

                    '/var/addons/',
                    '/var/themes_repository/[*]/css/addons/',
                    '/var/themes_repository/[*]/mail/media/images/addons/',
                    '/var/themes_repository/[*]/mail/templates/addons/',
                    '/var/themes_repository/[*]/media/images/addons/',
                    '/var/themes_repository/[*]/templates/addons/'
            ];

ну и соответственно

/var/langs/[*]/addons/
3 лайка

Кстати. Удалять предустановленный модуль (тот, который идет в поставке ядра) - не лучшая практика. Если в будущих обновлениях ядра, вдруг будут и изменения, касающиеся такого модуля - либо измененные файлы всё-равно будут загружены на диск и будут висеть “хвостами” в файловой системе, либо возможны неприятности из-за отсутствующих папок для размещения этих файлов.

Спасибо за уточнение .Этот модуль я уже пробовал поставить ,когда не мог разобраться ,почему Боксбери считает сумму “завышенную” для доставки.
Если правильно понял ,то нужно просто снести папки по данным путям?Без ,каких-либо еще дополнительных манипуляций?
По всем путям указанным ,что-то должно быть от модуля или это список,где нужно смотреть и по наличию удалить?
Кэш цс-карт нужно потом очистить?

Спойлер

Благодарю!

Это весь список папок, где может быть что-то от модуля. Или может не быть :slight_smile:
Просто все их просмотреть, и если есть папка с названием модуля - удалить.
Можно и кэш почистить на всякий случай.

PS на самом деле лучше не удалить, а переместить куда нибудь, сохраняя структуру папок. Тогда если уж вдруг что-то пойдет не так - можно будет залить их обратно на сайт и думать дальше

Прошелся по указанным Вами путям и удалил ,где нашел.Сам модуль не установленный исчез из “модулей”,но вот графа выбора перевозчика ,так же и осталась с двумя Боксбери.
Где или как можно посмотреть\узнать ,где искать хвосты?

Спойлер

Эта статья ?

1 лайк

Значит в БД хранится. Если модуль нормально написан, он должен был при деинсталляции удалить эти хвосты

Вы удаляли файлы после того как выключили модуль, или после того как нажали “Удалить”?
при удалении модуля должен был сработать этот код:

    $service_ids = db_get_fields('SELECT service_id FROM ?:shipping_services WHERE module = ?s', 'boxberry');

    db_query('DELETE FROM ?:shipping_services WHERE service_id IN (?a)', $service_ids);
    db_query('DELETE FROM ?:shipping_service_descriptions WHERE service_id IN (?a)', $service_ids);

смотрите таблицу shipping_services на наличие записей со значением boxberry

ну и результат смотрите не в старом заказе, а лучше в новом, так, на всякий случай

1 лайк

Модуль не был установлен или криво стал ,так как уже был такой модуль,но с другим ай ди.Отключить/включить его нельзя было.

По какому пути расположена таблица эта ?
Заказ делал новый ,на нем проверял.

Спойлер

https://forum.cs-cart.ru/uploads/default/optimized/3X/4/5/45ce84db21d9ae8324b5b1725365f2ae53240bf0_2_1035x568.jpeg

в БД таблица cscart_shipping_services

Спойлер

Нашел данные в данной таблице от модуля ,их просто удалить ?

Только б бэкап таблицы сначала сделайте

Хочу сделать экспорт -импорт товаров и нужно так -же сделать экспорт-импорт картинок во вкладке “Внимание”.
Вкладка была создана в Дизайн—Вкладки товара (HTML блок) и выключена,в нужных карточках вкладка включается и заливаются картинки через файлменеджер,там содержится так же нужная информация для товара .
Как-то можно это сделать автоматом?При экспорте не нашел нужного поля

Спойлер

Из коробки так сделать не получится, к сожалению

А ,что надо для этого?Писать ,какой-то скрипт ?)