Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
118 of 152 menu
Бесплатный курс по Верстке. От новичка до продвинутого верстальщика! Начало 11 ноября. Жми для записи!

Таблица oc_download_description

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

Поля

Поле Тип данных Описание
download_id int Внешний ключ, который связывает описание с конкретным файлом для скачивания. Ссылается на поле download_id в таблице oc_download.
language_id int Идентификатор языка, для которого предназначено это описание. Внешний ключ для таблицы oc_language.
name varchar(64) Название файла для скачивания, которое будет отображаться пользователю на конкретном языке (например, "Руководство пользователя", "Электронная книга").

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

В админ-панели OpenCart, в разделе "Каталог" → "Загрузки", администратор создает новый файл для скачивания. При этом в таблицу oc_download добавляется запись с основными данными (путь к файлу, маска и т.д.).

Для поддержки мультиязычности, для каждого созданного файла необходимо добавить его название на всех активных языках магазина. Эти названия сохраняются именно в таблице oc_download_description. Таким образом, для одного download_id в этой таблице будет несколько записей с разными language_id.

Когда покупатель приобретает товар, к которому привязан цифровой файл, он получает возможность скачать его. На странице заказов в личном кабинете и в письме-уведомлении отображается именно то название файла, которое соответствует языку интерфейса пользователя или языку заказа.

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

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

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

SELECT dd.*, d.filename FROM oc_download_description dd LEFT JOIN oc_download d ON (dd.download_id = d.download_id) WHERE dd.language_id = 1;

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

  • таблицу oc_download,
    которая хранит основные данные файлов для скачивания
  • таблицу oc_product_to_download,
    которая связывает товары с файлами для скачивания
  • таблицу oc_order_download,
    которая управляет доступом к скачиванию файлов после покупки
  • таблицу oc_language,
    которая хранит список языков магазина