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

Таблица oc_download

Таблица oc_download служит для управления цифровыми товарами в OpenCart. Она хранит метаданные файлов (название, маску имени файла), которые затем связываются с физическими товарами (oc_product) через таблицу связи oc_product_to_download. Это позволяет продавать электронные книги, программное обеспечение, музыку и другие цифровые продукты.

Поля

Поле Тип данных Описание
download_id int Уникальный идентификатор цифрового товара (файла для скачивания). Первичный ключ с автоинкрементом.
filename varchar(160) Имя файла, как оно хранится на сервере. Файлы обычно загружаются в директорию system/storage/download/.
mask varchar(128) Оригинальное имя файла, которое было у него на компьютере пользователя при загрузке. Это имя увидит покупатель при скачивании.
date_added datetime Дата и время добавления файла в систему.

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

Администратор заходит в раздел "Каталог" → "Загрузки" и добавляет новый файл. При загрузке система сохраняет файл в защищенную директорию system/storage/download/ (во избежание прямого доступа) и записывает его данные в таблицу oc_download. Поле filename содержит системное имя файла (часто с хэшем для уникальности), а поле mask - оригинальное, удобочитаемое имя.

После создания загрузки её можно привязать к одному или нескольким товарам в карточке товара, на вкладке "Ссылки". Эта связь устанавливается в таблице oc_product_to_download.

Когда покупатель приобретает товар, к которому привязана загрузка, система создает запись в таблице oc_order_download. В этой записи хранится ссылка на файл, количество разрешенных скачиваний, срок действия ссылки и уникальный код (mask), который используется для формирования безопасной URL-ссылки на скачивание. Покупатель видит эту ссылку в истории заказов в личном кабинете.

Важно: сама таблица oc_download не хранит историю заказов или факты скачиваний. Она содержит только справочник доступных файлов.

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

Выбрать все цифровые товары, добавленные за последний месяц, и показать, к каким продуктам они привязаны:

SELECT d.download_id, d.mask, d.filename, d.date_added, GROUP_CONCAT(pd.product_id) as product_ids, GROUP_CONCAT(pd.name SEPARATOR ' | ') as product_names FROM oc_download d LEFT JOIN oc_product_to_download p2d ON (d.download_id = p2d.download_id) LEFT JOIN oc_product_description pd ON (p2d.product_id = pd.product_id AND pd.language_id = 1) WHERE d.date_added > DATE_SUB(NOW(), INTERVAL 1 MONTH) GROUP BY d.download_id;

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

  • таблицу oc_product_to_download,
    которая связывает товары и загрузки
  • таблицу oc_order_download,
    которая управляет доступом к скачиванию для каждого заказа
  • таблицу oc_product,
    к которой привязываются загрузки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить