Zusatzfelder Frontend

Hallo,

ich habe ein Zusatzfeld angelegt und den Kategorien zugewiesen. Nun wollte ich im Frontend mit page.cmsPage.translated.customFields.meinFeld darauf zugreifen, doch das customFields Array ist leer?

#translated: array:2 [▼
    "name" => "Standard Kategorie-Layout"
    "customFields" => []
  ]

Was mache ich falsch? Danke!

Müssten sich die jeweiligen customFields nicht innerhalb des Objectes befinden, für welches sie zugewiesen wurden? Bei Dir also innerhalb categories? Dein beigefügter dump zeigt doch nur page.cmsPage.translated. Richtig?

Wo soll sich das Objekt den befinden? Unter cmsPage.categories = null?

"page" => Shopware\Storefront\Page\Navigation\NavigationPage {#6413 ▼
    #cmsPage: Shopware\Core\Content\Cms\CmsPageEntity {#6741 ▼
      #name: "Standard Kategorie-Layout"
      #type: "product_list"
      #entity: null
      #sections: Shopware\Core\Content\Cms\Aggregate\CmsSection\CmsSectionCollection {#6804 ▶}
      #translations: null
      #categories: null
      #products: null
      #config: null
      #previewMediaId: null
      #previewMedia: null
      #locked: true
      #landingPages: null
      #homeSalesChannels: null
      #_uniqueIdentifier: "fbaa2b101f7c4a1299176f96699fb62a"
      #versionId: "0fa91ce3e96a4bc2be4bd9ce752c3425"
      #translated: array:2 [▼
        "name" => "Standard Kategorie-Layout"
        "customFields" => []
      ]
      #createdAt: DateTimeImmutable @1633040262 {#6790 ▶}
      #updatedAt: null
      -_entityName: "cms_page"
      #extensions: array:1 [▶]
      #id: "fbaa2b101f7c4a1299176f96699fb62a"
      #customFields: null
    }
    #navigationId: "3eac3baff9754146823dc9f4717fd10c"
    #header: Shopware\Storefront\Pagelet\Header\HeaderPagelet {#5901 ▶}
    #footer: Shopware\Storefront\Pagelet\Footer\FooterPagelet {#5944 ▶}
    #salesChannelShippingMethods: Shopware\Core\Checkout\Shipping\ShippingMethodCollection {#6376 ▶}
    #salesChannelPaymentMethods: Shopware\Core\Checkout\Payment\PaymentMethodCollection {#6050 ▶}
    #metaInformation: Shopware\Storefront\Page\MetaInformation {#6053 ▶}
    #extensions: array:1 [▶]
  }

wenn Du ggf. unter sections nicht fündig wirst, befinden sich die von Dir gesuchten Infos möglicherweise nicht im Datenobject. Wenn auf Deiner Seite (dort wo Du jetzt den Dump geprinted hast) Deine Kategorien ausgegeben werden (jetzt ohne Deine Zusatzfelder) sollte es in dem Datenobjekt noch ein child mit den Infos zu den Kategorien geben. Wie geschrieben … schau mal unter sections.

Unter sections ist das leider nicht, dort finde ich nur die Content Elemente der Seite, in meinem Fall bei der Kategorieseite ein Headerbild bzw. die Produktliste.

Mir kommt auch vor, daß ich an dieses Zusatzfeld hier nicht dran komme, zumindest nicht über das Datenobjekt das ich mit dump hier ausgeben kann. Es ist einfach die Standard-Kategorie Seite wo die Produkte dargestellt werden. Das custom_field ist genau bei dieser Kategorie abgespeichert, das sieht man ja auch in der DB. Ich frage mich natürlich, ob es Sinn macht, daß man Zusatzfelder zu Kategorien zuordnen kann und dann aber im Frontend nicht darauf zugreifen kann, erschließt sich mir nicht ganz …

Das ergibt schon Sinn. Die Zusatzfelder werden nur in der Standardversion nicht mit ausgeliefert. Aber eine eigenes twig und den zugehörigen Subscriber zu erstellen ist kein Hexenwerk. Dazu findest Du sicher hier im Forum entsprechende Anleitungen oder halt auf der Seite von SW. Dann kannst Du aber alles nach Deinen Wünschen zusammen bauen.