НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
112 of 152 menu

Таблица oc_startup

Таблица oc_startup является важным компонентом механизма расширений (модификаторов) в OpenCart. Она содержит список PHP-файлов, которые система должна автоматически загрузить и выполнить на ранних этапах инициализации, до обработки основного контроллера.

Поля

Поле Тип данных Описание
startup_id int Уникальный идентификатор записи автозагрузки. Автоинкрементное поле.
code varchar(128) Уникальный код расширения (модификатора). Обычно соответствует названию директории расширения в system/library.
action text Путь к PHP-файлу, который должен быть выполнен при автозагрузке. Обычно указывается путь относительно корня сайта, например: system/library/my_modification/my_startup.php.
status tinyint(1) Статус записи: 1 - активно (файл будет загружен), 0 - неактивно (файл игнорируется).
sort_order int Порядок выполнения файлов автозагрузки. Файлы выполняются в порядке возрастания этого значения.

Как это работает

При установке расширения через установщик OpenCart (OCMOD) или вручную, в таблицу oc_startup добавляется новая запись. В поле action указывается путь к файлу, который содержит код для модификации поведения системы.

В процессе загрузки OpenCart (в файле system/engine/startup.php) система выполняет следующий алгоритм:

1. Выбирает все активные записи (status = 1) из таблицы oc_startup, отсортированные по sort_order.

2. Для каждой записи проверяет существование файла, указанного в поле action.

3. Если файл существует, он подключается с помощью функции require_once.

Это позволяет расширениям выполнять свой код до инициализации основных компонентов фреймворка, что критически важно для модификации стандартного поведения OpenCart, переопределения классов (через override) или регистрации своих обработчиков событий.

Поле sort_order играет важную роль, так как определяет порядок, в котором различные модификации применяются к системе. Это может быть важно, если одно расширение зависит от функциональности, добавленной другим.

Пример SQL-запроса

Посмотреть все активные файлы автозагрузки можно следующим запросом:

SELECT startup_id, code, action, sort_order FROM oc_startup WHERE status = 1 ORDER BY sort_order ASC;

Смотрите также

  • таблицу oc_modification,
    которая хранит XML-модификации для системы
  • таблицу oc_extension,
    которая управляет установленными расширениями
  • таблицу oc_setting,
    которая хранит настройки системы и расширений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить