CS-Cart: массовое удаление товара

Как ни странно, в CS-Cart нет явного функционала удаления всего товара. Разработчики предполагали, что администратор должен листать список в разделе «товары» и удалять по 50-100 товаров за раз (т.е. страницу максимум). Это долго и не наш путь..

Есть другой способ: в разделе «Категории», переместить все категории в «Корзину». Хотя в админке и есть кнопка «очистить корзину», по факту она оказалась не в состоянии удалить 15000+ товаров, а просто подвешивала весь сервер. Поэтому далее открываем консоль SSH, и из консоли выполняем:

После чего ждем… По результату отработки скрипта весь товар с сайта будет удалён.

Если требуется удалить весь товар, НО! оставить все категории на месте, то можно пойти таким путём:

1) Выгрузить в файл id всех товаров:

      2) Скриптом удалить каждый товар:

      Как скачать из консоли файл с яндекс.диска

      Редко, но бывают ситуации, что под рукой только консоль терминала, а нужно скачать файл размещенный на яндек.диске (скачать с яндекс диска из консоли). Для решения такой ситуации есть утилита wldhx.yadisk-direct. Установим её:

      После установки, закачка (скачать с яндекс диска из консоли) сводится к одной команде:

      скачать с яндекс диска из консоли

      Другие интересные решения для работы в консоли здесь. Ссылка на оригинальный репозитарий здесь

      Бинарные логи mysql

      С недавних пор обнаружил, что на моёй виртуальной машине, где размещается сайт, как-то подозрительно быстро заканчивается место на жестком диске. Проведя небольшое расследование, обнаружил, что главный виновник — бинарные логи mysql. Странно конечно, потому что в конфигурационных файлах mysql настройка log-bin отключена:

      Бинарные логи

      И вестись они в принципе не должны. Вообще, бинарные логи обычно нужны только в том случае если:

      • настроена репликация с другим сервером
      • необходимо иметь возможность восстановить поврежденную базу данных (вдруг бекапы не делаете)

      В остальных случаях она не нужна. Хм.. ну уже если отключить не удаётся, по неизвестной причине, то можно ограничить накопление логов ключами:

      • expire_logs_days=3 — ограничить глубину логов 3 днями
      • max_binlog_size =100M — ограничить размер файла логов 100 мегабайтами

      Чуть погуглив, обнаружил, что в свежих версиях mysql логи отключаются теперь другим ключем: disable-log-bin

      Однако.. что делать с файлами логов, если они не были отключены и накопились? Удалять их руками черевато возникновением ошибок. Поэтому лучше войти в консоль mysql и выполнить следующую команду:

      Ну и на всякий случай, удалить логи старше Х дней можно вот так:

      Могу порекомендовать еще посмотреть мою старую шпаргалку по MySQL и другие лайфхаки

      Русификация дисплея SSD1306

      В интернете полно инструкций по русификации данного дисплея. Фактически все рекомендации сводятся к замене в папке C:\Users\USER\Documents\Arduino\libraries\Adafruit_GFX_Library (у вас другой путь) файла glcdfont.c вот этим файлом, и далее использованием вот этой функции для конвертации UTF-8 в кодировку windows-1251:

      У меня увы, этот метод не сработал, как бы я не бился. И файл со скетчем переводил и в UTF-8 и в кодировку windows-1251 и чего только не делал. Ну не работает и всё тут. Потом на какое-то время заработало, потом опять перестало. Разобраться почему я так и не смог. В результате пошел другим путем — написал онлайн конвертор UTF-8 в восьмеричный формат кодировки windows-1251, после чего стало возможным вставлять в IDE код вида:

      Пусть не сильно читаемо в коде, но зато работает максимально стабильно. Конвертер ниже:



      Кроме того, обнаружил еще одну не объяснимую ошибку при работе с данным дисплеем: если в программе интенсивно используется вывод в консоль при помощи Serial.println то на дисплее возникают артефакты в виде шума.

      Подготовка сервера RED OS 7.3 к установке Битрикс «Управление сайтом»

      Дальнейший ход установки предполагает, что у вас уже установлена RED OS в конфигурации программ «Сервер минимальный», без выбора ПО (т.е. php, apache и т.д. будем ставить позже и сами!)

      Отключим SELinux:

      Настроим отправку почты из консоли:

      Для проверки работы:

      Установим PHP 8.1

      Если вдруг необходима версия PHP 7.4, которая идёт по умолчанию, то соответственно первая строчка не нужна

      Установим Apache и Ngnix

      Установим MariaDB

      Установим Redis

      Настройка Ngnix

      Создадим папку /var/www/html/bx-site, присвоим ей пользователя и группу:

      Далее качаем этот архив, и содержимое папки /redos/nginx переписываем поверх в /etc/nginx. Кроме того нужно в /etc/hosts добавить строчку:

      В случае необходимости включить сразу ssl, добавим в файл /etc/ngnix/sites-available/default.conf секцию вида:

      Если необходима (а она скорее всего необходима) переадрессация с http на https, то в секцию c 80 портом, добавляем строчки:

      Запустим сервис:

      Настройка PHP

      В папке /etc/php.d необходимо отредактировать настройки модулей:

      opcache

      bitrix.ini

      Настройка Apache

      • Добавить в /etc/httpd/conf.d файл default.conf из архива выше
      • в httpd.conf заменить Listen 80 на Listen 8090
      • заменить файл /etc/httpd/conf.modules/00-mpm.conf на файл из архива выше

      Запустить httpd:

      На этом моменте файл index.php размещенный в /var/www/html/bx-site уже должен отображаться адекватно

      Настройка MariaDB

      В файле /etc/my.cnf.d/mariadb-server.cnf внутри тега [mysqld] необходимо добавить/изменить строки:

      Запуск сервиса:

      Заходим в консоль сервера mysql, создаём пользователя и даём ему права:

      Настройка Redis

      В папке /etc/redis необходимо заменить файл redis.conf из архива выше, и выполнить в консоли:

      На этом в принципе и всё. Сервер подготовлен для развертывания битрикса в папке /var/www/html/bx-site. По идее далее кидаем туда дистрибутив (ну или бекап, если сайт переносите как я) и начинаем установку из браузера

      1 2 3 4 9