Проблема потягиваю атрибут с определенным видом на магазин

magento.stackexchange https://magento.stackexchange.com/questions/1075

  •  16-10-2019
  •  | 
  •  

Вопрос

У меня есть Magento только с одним видом на магазин. Однако этот магазин не по умолчанию. Был создан представление о магазине новостей (ID: 2) и по умолчанию один удален.

Тогда у меня есть продукты и изображения, импортированные с помощью некоторых инструментов. В администраторе все искрутно. Правильная миниатюра, небольшое изображение и базовое изображение выбираются, а изображение не исключено. На переднем конце изображение правильно отображается на странице информации о продуктах, но не отображается в списке продуктов.

Если я распечатаю объект продукта в списке категории, я вижу, что изображения даже не загружаются. Никаких свойств вообще. Однако метки изображений загружаются хорошо.

Вот пример ряда моего catalog_product_entity_varchar:

value_id    entity_type_id  attribute_id    store_id    entity_id   value
--------------------------------------------------------------------------------------------
1004        4               86              2           101         /2/7/271074_2.jpg

Где 86 соответствует small_image атрибут.

И теперь последнее. Если я заменю идентификатор магазина на 0 изображение показано правильно. Я могу легко установить это на 0 для всех продуктов, если у меня есть только один вид в магазине, но не должно быть показано с 2? Почему с 2 Он отображает на странице сведений о продуктах, а не в списке?

PS: представление магазина по умолчанию, без расширений.

Это было полезно?

Решение

У вас есть значение по умолчанию для этого элемента или просто конкретное значение StoreView?

SELECT
  `t_d`.`entity_id`,
  `t_d`.`attribute_id`,
  `t_d`.`value` AS `default_value`,
  `t_s`.`value` AS `store_value`,
  IF(t_s.value_id IS NULL, t_d.value, t_s.value) AS `value`
FROM `catalog_product_entity_varchar` AS `t_d`
LEFT JOIN `catalog_product_entity_varchar` AS `t_s`
 ON t_s.attribute_id = t_d.attribute_id AND t_s.entity_id = t_d.entity_id AND t_s.store_id = 2
...

Вот фрагмент из запросов, которые загружают атрибуты в списках продуктов. Как вы можете видеть, если у вас нет значения по умолчанию для этого атрибута, первая часть не вернет результатов, а левое соединение не будет работать правильно. Это означает, что вам всегда нужно значение по умолчанию и значение Storeview; Magento определит правильное значение в расчетном поле IF(...) as value.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top