Почему роли, которые я выбрал в своем контроллере для загруженного изображения, не отображаются в бэкэнде администратора


Недавно я создал некоторый код, который захватывает удаленное изображение, переносит его на сервер и устанавливает для продукта этот образ с несколькими ролями. См. ниже:

file_put_contents($import_filepath, file_get_contents($bgg_image));
$attribute_codes = ['image', 'small_image', 'thumbnail', 'bgg_image'];
$product->addImageToMediaGallery($import_filepath, $attribute_codes, false, false);
unlink($import_filepath);
$this->productRepository->save($product);

$ import_filepath - это путь для размещения на сервере. $bgg_image - это удаленное изображение.

Это работает нормально, загрузка прошла успешно. Роли на самом деле тоже устанавливаются, т.Е.

$attribute_codes = ['image', 'small_image', 'thumbnail', 'bgg_image'];

Я могу сказать, потому что, если я использую приведенный ниже код, он напечатает укажите правильный путь для моего изображения:

 $product = $this->productRepository->getById($product_id);
 $logger->info('data is now bgg -------- ' . $product->getData('bgg_image'));
2020-01-02T04:48:43+00:00 INFO (6): data is now bgg -------- //b/g/bgg_img_24291_pic2428687_1_2.jpg

Проблема в том, что на скриншоте ниже эти роли вообще не отображаются на интерфейсе, если я не выберу их вручную и не сохраню продукт. Все остальное поведение на веб-сайте интерфейса соответствует ожиданиям.

enter image description here enter image description here Я попытался перезагрузить кэш, полностью очистить кэш, повторно загрузить все статические файлы и еще кучу всего, что вызвало нада.

Пожалуйста, помогите.

Author: Kyle Vincent, 2020-01-02

1 answers

Оказывается, они были настроены для области моего представления магазина, а не для области всех магазинов. Если кто-то хочет установить область действия для всех магазинов, они должны установить вид магазина равным 0, установить изображение, а затем снова установить область действия магазина.

 1
Author: Kyle Vincent, 2020-01-02 23:31:42