Программная настройка изображения медиа галереи по умолчанию для Store View (Magento) - PullRequest
8 голосов
/ 01 августа 2011

У меня есть скрипт, который добавляет изображения к моим продуктам. Используется для установки изображения, small_image и эскиза. Код работает хорошо для представления по умолчанию, но когда я переключаюсь на просмотр хранилища, медиа-галерея устанавливается на «no_image». Причинение моего продукта вообще не иметь изображения во внешнем интерфейсе.

Я попытался сбросить атрибуты представления магазина без успеха.

$product->addImageToMediaGallery($fileName, array('image', 'small_image', 'thumbnail'), false, false);
$attributes = $product->setStoreId(1)->getTypeInstance(true)->getSetAttributes($product);
if (isset($attributes['media_gallery'])) {
    $attributes['media_gallery']->getBackend()->clearMediaAttribute($product, array('image', 'small_image', 'thumbnail'));
}
$product->save(); 

Как я могу изменить определенные атрибуты магазина и сбросить их для использования родительского?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 01 августа 2011

Ваше «простое решение» может быть еще проще;

foreach($product->getStoreIds() as $storeId) {
    $product->setStoreId($storeId)
        ->setImage(false)
        ->setSmallImage(false)
        ->setThumbnail(false)
        ->save();
}
2 голосов
/ 13 января 2012

хорошо для тех, у кого все еще есть проблемы, я нашел решение sql:

DELETE FROM `catalog_product_entity_varchar` 
WHERE store_id IN (1,2,3,4)
      and entity_type_id=4 
      and (attribute_id=77 or attribute_id=78 or attribute_id=79);

в моем случае я хотел восстановить представление изображения по умолчанию из всех просмотров моего магазина (идентификаторы 1,2,3,4)

edit: модифицированный SQL, как предложил Electric Jesus

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...