Kategorien - Tags geben null aus

Gebe ich einer Kategorie Tags, wird mir beim category dump lediglich null ausgegeben bei der tags property.

Kann es sein, dass die Tag Funktion für Kategorien noch gar nicht funktioniert?

Schaue ich in die Datenbank, sind die Verknüpfungen in der Tabelle category_tag vorhanden.

https://res.cloudinary.com/dtgdh7noz/image/upload/v1585814776/Bildschirmfoto_2020-04-02_um_11.05.38_owcmd6.png

https://res.cloudinary.com/dtgdh7noz/image/upload/v1585814776/Bildschirmfoto_2020-04-02_um_11.05.22_azmdhl.png

https://res.cloudinary.com/dtgdh7noz/image/upload/v1585814891/Bildschirmfoto_2020-04-02_um_11.07.59_mcqpbu.png

PS: Es sollte langsam mal möglich sein, dass Bilder als Thumbnails dargestellt werden hier im Forum und nicht den kompletten Bildschirm einnehmen [@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski „Moritz Naczenski“)‍   Grin

Hi,

beim Laden der Produkte in der Storefront werden aus dem Standard heraus nicht alle Relationen mitgeladen, um die Datenmenge möglichst klein zu halten.
Wenn du die Tags mit laden möchtest, muss du dich an Events hängen und die Assoziationen mit an das Criteria hängen:

Beim Listing wäre, dass das “ProductListingCriteriaEvent” und auf der Produkt-Detail-Seite “ProductLoaderCriteriaEvent”.

Ich hoffe das hilft dir weiter.

Gruß

Krispin

Danke @Krispin‍

Ich hatte hier tatsächlich bereits ein Plugin für die Produkt Detail Ansicht geschrieben, was genau das macht. Allerdings über die extensions. Was bei dir anscheinend nicht der Fall ist. Und ich sehe kein Category Criteria Event oder ähnl.

Es ist kein Produkt Listing, sondern eine CMS Seite. In dieser CMS Seite werden dann andere CMS Seiten / Kategorien ausgespielt wo hier zusätzlich auch die Tags dieser Kategorien/Seiten angezeigt werden sollen. Ich nehme mal an hier wäre es das  CmsPageLoaderCriteriaEvent? Hast du einmal ein Code Beispiel für Dummies?

Bei der Produkt Detailseite habe ich es über

public function getAllTags(ProductPageLoadedEvent $event): void
    {

        $tagIds = $event->getPage()->getProduct()->getTagIds();
....

Beim  CmsPageLoaderCriteriaEvent bekomme ich aber nichts wirkliches zurück, womit ich arbeiten könnte.

https://res.cloudinary.com/dtgdh7noz/image/upload/v1585904974/Bildschirmfoto_2020-04-03_um_12.09.09_df6rbw.png

Ich nehme mal an, dass ich die Daten irgendwie über mein CMS Element bekomme? Ich habe ein custom CMS Element, welches entsprechend die Kategorien/CMS Seiten in der Storefront ausgibt. Komme ich über meinen DataResolver von meinen custom CMS Element an die Tags ran? ( Der Screen im ersten Thread ist von meinen custom DataResolver vom custom Element ).

Der sieht c.a so aus:

public function collect(CmsSlotEntity $slot, ResolverContext $resolverContext): ?CriteriaCollection
    {
        /* get the config from the element */
        $config = $slot->getFieldConfig();

        $criteria = new Criteria();

        $criteria->addFilter(
            new EqualsFilter('category.type', 'custom'),
            new EqualsFilter('category.active', true)
        );
  .....

Das Wording ist übrigens die komplette Total Verwirrung. Kategorien <=> Seiten.