Это вопрос архитектуры, но его решение заключается в структуре ColdFusion и MySQL - или, по крайней мере, я так считаю.
В моей базе данных есть таблица товаров, и у каждого товара может быть любое количество снимков экрана. Мой текущий метод отображения скриншотов продукта следующий:
У меня есть одна папка, в которой содержатся все снимки экрана, связанные со всеми продуктами. Все скриншоты названы точно так же, как их productID в базе данных, плюс префикс.
Например: снимки экрана продукта, для которого productID равен 15, находятся в папке images с именем 15_screen1.jpg, 15_screen2.jpg и т. Д ...
На моей странице ColdFusion я жестко закодировал путь к изображению в HTML (images /); название изображения разбито на две части; первая часть генерируется динамически с использованием productID из запроса; и часть вторая является префиксом и жестко закодирована. Например:
<img src"/images/#QueryName.productID#_screen1.jpg">
<img src"/images/#QueryName.productID#_screen2.jpg"> etc...
Этот метод работает, но имеет несколько ограничений, самый большой из которых приведен ниже:
- Мне нужно жестко закодировать точное количество снимков экрана в моем HTML-шаблоне. Это означает, что количество отображаемых снимков экрана всегда будет одинаковым. Это не работает, если у одного продукта есть 10 снимков экрана, а у другого - 5.
- Мне нужно жестко закодировать префиксы изображений в моем HTML. Например, у меня может быть до пяти типов снимков экрана, связанных с одним продуктом: productID = 15 может иметь 15_screen1.jpg, 15_screen2.jpg и 15_FrontCover.jpg, 15_BackCover.jpg и 15_Backthumb.jpg и т. Д.
Я думал о создании столбца путей в моей таблице продуктов, но это означало создание нескольких сотен папок для каждого продукта, что также не кажется эффективным.
Есть ли у кого-нибудь какие-либо предложения или идеи относительно правильного метода решения этой проблемы?
Большое спасибо!