Frage

Ich habe einen Magento mit nur einer Ladenansicht. Dieser Geschäft ist jedoch nicht Standard. Die Nachrichtenspeicheransicht wurde erstellt (ID: 2) und die Standardeinstellung, die gelöscht wurde.

Dann habe ich Produkte und Bilder mit einem Werkzeug importiert. In Admin ist alles farky. Das richtige Vorschaubild, das kleine Bild und das Basisbild werden ausgewählt und das Bild wird nicht ausgeschlossen. Im Front -End -Bild wird auf der Produktinfo -Seite der Produkte korrekt angezeigt, wird jedoch nicht bei der Produktliste angezeigt.

Wenn ich das Produktobjekt in der Kategorie -Auflistung ausdrucke, kann ich feststellen, dass keine Bilder geladen werden. Überhaupt keine Eigenschaften. Bildbezeichnungen sind jedoch gut geladen.

Hier ist die Beispielreihe meiner 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

Wo 86 Korrespondiert zu small_image Attribut.

Und jetzt das Letzte. Wenn ich die Store -ID an ändere, um 0 Das Bild wird korrekt angezeigt. Ich kann es leicht einstellen 0 für alle Produkte, solange ich nur eine Store -Ansicht habe, sollte es aber nicht auch mit gezeigt werden 2? Warum mit 2 Es wird auf der Seite mit Produktdetails und nicht in der Auflistung angezeigt?

PS: Standardspeicheransicht, keine Erweiterungen.

War es hilfreich?

Lösung

Haben Sie einen Standardwert für dieses Element oder nur den StoreView -spezifischen Wert?

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
...

Hier ist ein Ausschnitt aus den Abfragen, die Attribute in Produktlisten laden. Wie Sie sehen können, gibt der erste Teil keine Ergebnisse zurück, wenn Sie keinen Standardwert für dieses Attribut haben, und der linke Join funktioniert nicht richtig. Dies bedeutet, dass Sie immer den Standardwert und den StoreView -Wert benötigen. Magento entscheidet den korrekten Wert im berechneten Feld IF(...) as value.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top