Yii2: Установить галерею kartik-v (добавление изображений к товарам)
Функционал добавлениеизображения к товарамСайт недвижимости, настраницы добавления и редактирования
объявлений прикручиваем возможность
загрузки изображений через галерею
kartik-v/yii2-widget-fileinput
Уже есть реализованныйфункционал добавления, отображения и
всего необходимого для другого сайта
https://moskva.miltor.ru/add_objv.php— дам все модели, контроллеры и тд по
изображениям с этого сайта, чтобы
адаптировать и прикрутить это все к
новому сайту (там надо будет разобраться
в работе и адаптировать функционал под
новую структуру, сделать все по
правильному).
Данные об изображенияххранятся в таблице images (таблицу нужно
создать через миграцию):
id — первичный ключ, этои название изображений,
ad_id — связь с объявление,url — varchar 500 (изображениямогут быть с других сайтов, тогда тут
просто ссылка на изображение)main — tinyint(1) — 1 — значитглавное изображение (по одному объявлению
есть всегда только одно главное
изображение)hash — int уникальное числоодинаковое для всех изображений одного
объявления. Нужна для загрузки объявлений,
при первом создании объявления (объявления
в базе еще нет, а изображения загружать
уже нужно). После того, как изображения
связаны с товаром, то обнуляем эту
значение
Папка для храненияизображений /images_ad/max(min)/Ndir/name.jpg, где:Ndir — номер папкиот 0 до 999, которое расчитывается как
последние 3 цифры id изображения (для id
= 124323, папка 323, для 498085 — папка 85, для
94000 — папка 0) — функция для получения
номера папки из id есть уже, приведу ниже.Name.jpg — это наш idизображения к которому прибавили
расширение '.jpg'; Таким образом нам не
нужно хранить отдельно название
изображения. Функцию создания подпаком
могу дать, нужно их создать, загрузить
в репозиторий, но указать в hgignore, чтобы
все вновь создаваемые файлы игнорились
и при разворачивании из репозитория
проекта, папки были, а файлы нет.
Отображение блока длязагрузки изображений как тут: