Как Создается Ссылка На Изображение Из Sql Базы

Всё в базе понятно , но как создается ссылка изображения совсем не понятно. Почему бы не было сделать всё по человечески , как в других cms за такие-то деньги.

ТАБЛИЦЫ SQL

cscart_products - все продукты

product_id - код продукта

cscart_images - имена изображений
image_id - код изображения
image_path - имя изображения

cscart_images_links - абсолютно непонятная связь чего-то с чем-то

pair_id - тут какойто код

object_id - тут какойто код

image_id - для продуктов всегда ноль

detailed_id - тут какойто код

Я проверил все связи - ничего не совпадает.

Product_id совпадает иногда с detailed_id или pair_id , но object_id не совпадает нисчем.

Ясно что ссылка както создается в коде - зачемто ее зашифровали и спряталаи от людей. Зачем ...

p.s. Дефолтный экспорт глючный, выдает страшную базу и не понять как сделать авто экспорт по крону, поэтому решили сделать свой. Всё сделали . но как картинки достать, ума не приложу. Не хочеться код копать.

Или может хотябы подскажите какой фаил создает эти засекреченные ссылки.

Формула ! Где же формула !

1 лайк

Детальные изображения товаров хранятся в директории images/detailed/N. При загрузке изображения создается запись в таблице cscart_images базы данных магазина, при этом каждое изображение имеет свой уникальный идентификатор image_id. В таблице cscart_images_links для каждого изображения товара создается еще одна запись в которой object_id - ID товара, а detailed_id - ID изображения в cscart_images.

Путь до изображения (директория N) вычисляется по формуле:

N = floor(image_id/MAX_FILES_IN_DIR) (http://php.net/manual/ru/function.floor.php).

MAX_FILES_IN_DIR - это константа, хранящая максимальное число файлов в директории. Она объявляется в файле config.local.php и имеет 1000 в качестве значения по умолчанию.

1 лайк

Огромное спасибо.

Я делал всё также, но имена картинок не совпадали. Оказывается там несколько картинок может быть на 1 object_id.

Огромное спасибо.

Я делал всё также, но имена картинок не совпадали. Оказывается там несколько картинок может быть на 1 object_id.

Да, в таблице cscart_images_links у товара могут быть изображения с типом M (main; задается на вкладке Общее) и A (additional; задаются на вкладке Изображения)

А это что такое?

ID пары изображений. Тянется с тех времен, когда отдельно можно было залить детальное и мелкое изображение

1 лайк

Я так понимаю оно больше ни в каких таблицах современных не фигурирует?

В других таблицах pair_id нет. Но он все еще используется при работе с изображениями (при заливке, удалении и пр)