Как подключить в minishop2 облачные источники для изображений?
Добрый день, коллеги!
Поделитесь успешным опытом, получилось ли у вас хранить файлы изображения товаров в облаке?
Пробовал следующие способы:
— Штатный коннектор к Amazon S3: при загрузке изображений ошибка «Передан пустой файл» и больше ничего.
— Дополнение Swift с modstore.pro (подключался к selectel), но он не соединяется совсем, поддержка отвечает, что проблема на стороне модуля. Последнее обновление два года назад, в репозитории Василия.
Окружение: PHP 7.3.12; modX 2.7.3; minishop2 2.5.0
Какие ещё есть варианты?
Посоветуйте, пожалуйста, что лучше использовать.
UPD: Решение найдено!
Итак, методом эмпирических исследований был выявлен набор параметров при которых работает корректно на моём окружении. Ни в одной инструкции подобного описания не нашёл. Надеюсь поможет сэкономить вам недели тщетных поисков.
Удачная последовательность действий следующая:
1. При создании источника выбираем OpenStack Object Storage
2. Указываем следующие значения в настройках:
url: 400123.selcdn.ru/test/
container: test
authentication_service: https://api.selcdn.ru/v2.0/ (ни какие другие варианты не сработали (!))
service: ru-1 (важно для selectel)
username: <selectel_username>
api_key: <selectel_password>
{ всё остальное по-умолчанию }
Проверяем подключение. Должна работать загрузка изображения в облако.
3. Для корректного отбражения превью в админке и изображений на сайте, важно указать следующие параметры:
basePathRelative: Да (тип Да/Нет)
baseUrlRelative: Да (тип Да/Нет)
4. Для «нарезки» изображений, не забудьте указать поле
thumbnails: [{"w":120,"h":90,"q":90,"zc":"1","bg":"FFFFFF"},{"w":800,"h":800,"q":90,"zc":"1","bg":"FFFFFF"}]
(как пример, у вас скорее всего набор форматов будет другой)
Всем удачи!
Поделитесь успешным опытом, получилось ли у вас хранить файлы изображения товаров в облаке?
Пробовал следующие способы:
— Штатный коннектор к Amazon S3: при загрузке изображений ошибка «Передан пустой файл» и больше ничего.
— Дополнение Swift с modstore.pro (подключался к selectel), но он не соединяется совсем, поддержка отвечает, что проблема на стороне модуля. Последнее обновление два года назад, в репозитории Василия.
Окружение: PHP 7.3.12; modX 2.7.3; minishop2 2.5.0
Какие ещё есть варианты?
Посоветуйте, пожалуйста, что лучше использовать.
UPD: Решение найдено!
Итак, методом эмпирических исследований был выявлен набор параметров при которых работает корректно на моём окружении. Ни в одной инструкции подобного описания не нашёл. Надеюсь поможет сэкономить вам недели тщетных поисков.
Удачная последовательность действий следующая:
1. При создании источника выбираем OpenStack Object Storage
2. Указываем следующие значения в настройках:
url: 400123.selcdn.ru/test/
container: test
authentication_service: https://api.selcdn.ru/v2.0/ (ни какие другие варианты не сработали (!))
service: ru-1 (важно для selectel)
username: <selectel_username>
api_key: <selectel_password>
{ всё остальное по-умолчанию }
Проверяем подключение. Должна работать загрузка изображения в облако.
3. Для корректного отбражения превью в админке и изображений на сайте, важно указать следующие параметры:
basePathRelative: Да (тип Да/Нет)
baseUrlRelative: Да (тип Да/Нет)
4. Для «нарезки» изображений, не забудьте указать поле
thumbnails: [{"w":120,"h":90,"q":90,"zc":"1","bg":"FFFFFF"},{"w":800,"h":800,"q":90,"zc":"1","bg":"FFFFFF"}]
(как пример, у вас скорее всего набор форматов будет другой)
Всем удачи!
Комментарии: 4
1) Вы уверенны, что настроили компонент верно?
2) В логах что-то есть?
2) В логах что-то есть?
1). Да. Абсолютно. Сложно сказать, как в этом убедиться, но при тех же настройках используя десктопные клиенты, всё нормально подключается.
2). С Amazon S3 абсолютно ничего, а в случае со Swift это:
2). С Amazon S3 абсолютно ничего, а в случае со Swift это:
Could not authenticate: Client error responseТех поддержка selectel разводитт руками. Говорят изучайте протокол и исправляйте ошибки.
[status code] 401
[reason phrase] Unauthorized
[url] auth.selcdn.ru/tokens
Подскажите, пожалуйста, верные ли я использую настройки для селектел?
Пробовал два варианта подключения:
1. Тип источника: Rackspace Object Storage
=========================
url: 400123.selcdn.ru/test/
container: test
service: ru-1
authentication_service: api.selcdn.ru/auth/v1.0
username: <selectel_username>
api_key: <selectel_password>
{ всё остальное по-умолчанию }
2. Тип источника: Amazon S3
=========================
url: s3.selcdn.ru
bucket: test
key: <selectel_username>
secret_key: <selectel_password>
region: ru-1a
{ всё остальное по-умолчанию }
Разумеется, есть активный аккаунт selectel 400123 где создан контейнер test
для котрого создан пользователь с именем <selectel_username> и паролем <selectel_password>
выданы полномочия на чтение и запись.
Что может быть не так с настройками?
Подскажите, у кого работает.
Пробовал два варианта подключения:
1. Тип источника: Rackspace Object Storage
=========================
url: 400123.selcdn.ru/test/
container: test
service: ru-1
authentication_service: api.selcdn.ru/auth/v1.0
username: <selectel_username>
api_key: <selectel_password>
{ всё остальное по-умолчанию }
2. Тип источника: Amazon S3
=========================
url: s3.selcdn.ru
bucket: test
key: <selectel_username>
secret_key: <selectel_password>
region: ru-1a
{ всё остальное по-умолчанию }
Разумеется, есть активный аккаунт selectel 400123 где создан контейнер test
для котрого создан пользователь с именем <selectel_username> и паролем <selectel_password>
выданы полномочия на чтение и запись.
Что может быть не так с настройками?
Подскажите, у кого работает.
Решение проблемя я нашёл. Спасибо всем кто пытался помочь. Указал перечень действий и параметров в основном тексте после UPD. Всем удачи!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.