ImageBank для Wordpress, как правильно организовать?
Здравствуйте.
Вступление:
Есть 2 сайта магазина (woocommerce) розничный и оптовый. Контент пока одинаковый. В результате имеем двойной комплект всех изображений во всех размерных нарезках. Для оптовых покупателей будет организована выгрузка списка товаров.
Что хотелось бы:
- Иметь один источник всех фото. Загружать туда фото большого размера.
- Иметь возможность получить из имедж-банка картинку определенного размера. Т.е. нарезка по запросу с кэшированием.
- Админ панель имедж-банка для загрузки фото (только для админа) и для выгрузки (для любого пользователя)
Вопрос:
Подскажите в какую сторону смотреть? На какие грабли могу наступить?
Рассматривал вариант CDN. Если я правильно понимаю, то CDN являются дополнителным кэшем.
Рассматривал вариант сторонних фотогалерей Piwigo, ZenFoto, PhpAlbum. Все требуют дополнительного кодирования. Это не проблема, но может есть что то о чем я не знаю более близкое к моим требованиям?
Благодарю, за ответ.
Я не боюсь дополнительного кодирования. Я задал вопрос, что бы определить оптимальный путь для меня. Что бы не получилось потом, что я прижат к стенке своим же решением и надо городить костыли. Ну и немаловажно скорость работы получившегося сервиса, особенно на выдачу обрезанной картинки по запросу, т.к. это напрямую будет влиять на скорость загрузки страниц родительских сайтов. Я так понимаю нарезка должна производится один раз, а потом уже просто отдаваться сохраненная копия.
Может уже есть какие то готовые сборки с подобным функционалом?
Я задал вопрос, что бы определить оптимальный путь для меня
Чтобы подсказать оптимальный для вас путь, нужно понимать ваш уровень. А то получится что вы будете прижаты к стенке чужим решением, которое (возможно) будет для вас слишком сложным.
Ну и немаловажно скорость работы получившегося сервиса, особенно на выдачу обрезанной картинки по запросу
Для этого есть кеширование - ресайз создается один раз при первом запросе, после этого картинка сохраняется в файловую систему и отдается простой проверкой на существование файла - есть файл отдаем его из файловой системы, нету - генерим, пишем в файловую систему и отдаем оттуда. Поверх всего этого уже можно прикручивать CDN.
Я так понимаю нарезка должна производится один раз, а потом уже просто отдаваться сохраненная копия.
Да, все верно.
Может уже есть какие то готовые сборки с подобным функционалом?
Такие, которые подойдут именно под ваш use case - очень вряд ли.
Логика здесь примерно такова:
1. Сохранять картинки как записи типа attachment не подойдет, потому что ID на разных сайтах будут разные.
2. Соответственно, стандартная медиа-библиотека вам не подойдет, потому что она привязана к этим самым ID.
3. Сами картинки везде к записям (товарам) будут привязываться не по ID, а по урлам, либо если по ID - то храниться эти ID должны в какой-то общей базе данных, используемой одновременно обеими сайтами, чтобы не было конфликтов.
4. Хранить подобные данные можно в мета.
5. Возможно понадобится какой-то свой интерфейс по типу медиа-библиотеки для управления этими картинками.
ИМХО, ввязываться в такую авантюру нужно только хорошенько обдумав и запилив для начала какой-то proof-of-concept, чтобы понимать итоговую сложность и масштаб трагедии. В вашем случае, если честно, я не вижу необходимости так все усложнять - место на серверах нынче стоит копейки. Редактора и так будут редактировать контент и там и там, догрузить картинку не проблема.