# Eigenes Standard Produktlayout lässt sich nicht zuweisen

**URL:** <https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103>\
**Category:** Themes & Design\
**Created:** [31. August 2023 um 21:12 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103 "2023-08-31T21:12:06Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![okle](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@okle](https://forum.shopware.com/u/okle)\
**Post date:** [31. August 2023 um 21:12 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/1 "2023-08-31T21:12:06Z")

</div>

Die einzelnen Artikel haben alle keinen Wert im Feld cms\_page\_id zugewiesen.  
Ein eigenes Produktlayout wird angelegt und bei den Erlebniswelten als Standard Produktlayout zugewiesen, nennen wir es myProductPage.  
Die ID des Layouts myProductPage ist in der DB als core.cms.default\_product\_cms\_page sichtbar.  
Jetzt müsste als cms\_page\_id der Wert aus der DB verwendet werden.

In der Debug-Ausgabe im Frontend wird für die Produktseite kein Pagetype (none) angegeben, egal welches Layout ausgewählt ist. Für die Kategorieseiten steht da product\_list.  
BEGIN: Debug information  
Theme: Plants  
Edition: Pro  
Version: 2.0.3  
CMS page type: none  
…  
END: Debug information

Selbst, wenn ich in \Shopware\Core\Defaults::CMS\_PRODUCT\_DETAIL\_PAGE die ID von myProductPage eintrage, wird es nicht verwendet. Obwohl doch, der Wert hier, als Fallback verwendet werden sollte.

In \Shopware\Core\Content\Product\ProductDefinition::CONFIG\_KEY\_DEFAULT\_CMS\_PAGE\_PRODUCT steht  
final public const CONFIG\_KEY\_DEFAULT\_CMS\_PAGE\_PRODUCT = ‚core.cms.default\_product\_cms\_page‘;  
Auch wenn ich hier direkt die ID von myProductPage eintrage, wird das Layout nicht verwendet.

Natürlich sind alle Caches mehrmals geleert worden.

Selbst wenn ich überall die ID des built in Layouts mit der ID des von mir angelegten Layouts (myProductPage) überschreibe, wird es trotzdem nicht verwendet.

Gibt es hier einen Bug, oder einen Deep-Cache in dem das noch gespeichert ist.

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [1. September 2023 um 09:33 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/2 "2023-09-01T09:33:29Z")

</div>

Welche Shopware Version nutzt du denn?

Werden die Produktlayouts übernommen, wenn du diese manuell einem Produkt zuweist?

Bekannte Bugs findest du hier: [https://issues.shopware.com](https://issues.shopware.com)

---

<div class="post-metadata">

**Author:** ![okle](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@okle](https://forum.shopware.com/u/okle)\
**Post date:** [1. September 2023 um 10:13 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/3 "2023-09-01T10:13:20Z")

</div>

Vielen Dank für deine Reaktion!  
Gestartet haben wir die Migration mit Version 6.5.2.  
Regelmäßig alle Updates gemacht, bis 6.5.4.1. Mit jedem Update hatten wir die Hoffnung, dass sich das Verhalten ändert.  
Core, Theme und Plugins sind alle auf der neusten Version.

Das Layout wird übernommen, wenn es manuell einem Produkt zugewiesen wird.

Zwei Sachen fallen hierbei auf.  
Im Debug wird nicht beim Standard-Layout (egal welches eingestellt ist) ausgegeben: CMS page type: none  
Bei manueller Zuweisung CMS page type: product\_detail

Wenn man überall in DB-Config und Defaults die ID des Shopware-Standards durch die eigen Page-ID ersetzt, wird trotzdem der Shopware-Standard verwendet.

Die Bugs habe ich auch schon durchgesehen, aber nichts offenes zum Thema gefunden.

---

<div class="post-metadata">

**Author:** ![okle](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@okle](https://forum.shopware.com/u/okle)\
**Post date:** [1. September 2023 um 11:17 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/4 "2023-09-01T11:17:52Z")

</div>

Was mich hier generell mal interessieren würde ist, funktioniert es denn überhaupt ein eigenes Standard-Layout für Produkte zuzuweisen.  
Soviel ich weiß, gibt es das Feature ja auch erst seit Version 6.5.

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [1. September 2023 um 20:08 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/5 "2023-09-01T20:08:16Z")

</div>

Shopware 6.5 gibt es nun schon ein paar Monate.

Wenn die Funktion bei allen nicht funktionieren würde, ich glaube dann würde hier im Forum definitiv schon Beiträge dazu geschrieben worden sein.

---

<div class="post-metadata">

**Author:** ![okle](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@okle](https://forum.shopware.com/u/okle)\
**Post date:** [6. September 2023 um 09:32 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/6 "2023-09-06T09:32:28Z")

</div>

Das Problem trat bei einem Shop auf, der von Version 5.7 auf 6.5 migriert wurde.  
Ich habe jetzt noch einmal eine frische Testinstallation mit Version 6.5.5.1 aufgesetzt. Hier zeigt sich das gleiche Verhalten.  
Ein eigenes Layout kann nicht als Standard für alle Produkte ausgewählt werden.

Hat denn niemand dieses Problem? Oder weist ihr den Produkten alle individuell Layouts zu?  
Wenn das ein genereller Bug ist, kann es doch nicht sein, dass das seit Version 6.5 keinem aufgefallen ist, oder?

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [6. September 2023 um 21:04 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/7 "2023-09-06T21:04:41Z")

</div>

Ich kann es derzeit selbst nicht testen… hast du vielleicht ein Layout erstellt, dass kein Kategorie Layout ist?

---

<div class="post-metadata">

**Author:** ![chamaw](https://avatars.discourse-cdn.com/v4/letter/c/b487fb/32.png) [@chamaw](https://forum.shopware.com/u/chamaw)\
**Post date:** [7. September 2023 um 05:17 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/8 "2023-09-07T05:17:44Z")

</div>

Probier mal in der Tabelle system\_config den Eintrag für configuration\_key „core.cms.default\_product\_cms\_page“ anzupassen. Halt auf die UUID des neuen Layouts.

(Klar Cache löschen usw)

herzlichst

---

<div class="post-metadata">

**Author:** ![okle](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@okle](https://forum.shopware.com/u/okle)\
**Post date:** [7. September 2023 um 06:28 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/9 "2023-09-07T06:28:25Z")

</div>

Die ID des eigenen Layouts trägt Shopware selbst in „core.cms.default\_product\_cms\_page“ ein, soweit ist das Verhalten von Shopware korrekt. Der Wert wird nur nicht verwendet.  
Selbst, wenn ich in \Shopware\Core\Defaults::CMS\_PRODUCT\_DETAIL\_PAGE die ID meines eigenen Layouts eintrage, wird es nicht verwendet.  
Das ist ja das Problem, selbst, wenn ich an allen Stellen die ID des Shopware-Defaults auf die ID des eigenen Layouts ändere, wird es nicht verwendet.

---

<div class="post-metadata">

**Author:** ![chamaw](https://avatars.discourse-cdn.com/v4/letter/c/b487fb/32.png) [@chamaw](https://forum.shopware.com/u/chamaw)\
**Post date:** [7. September 2023 um 08:11 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/10 "2023-09-07T08:11:50Z")

</div>

Ich habe das „Problem“ gefunden.  
in der Datei /vendor/shopware/core/Content/Product/Subscriber/ProductSubscriber.php

steht ab Zeile 94 der Code

```auto
private function setDefaultLayout(Entity $product, ?string $salesChannelId = null): void
{
    if (!Feature::isActive('v6.6.0.0') || !$product->has('cmsPageId')) {
       // HIER ist das Problem 
       // return;
    }

    if ($product->get('cmsPageId') !== null) {
        return;
    }

    $cmsPageId = $this->systemConfigService->get(ProductDefinition::CONFIG_KEY_DEFAULT_CMS_PAGE_PRODUCT, $salesChannelId);

    if (!$cmsPageId) {
        return;
    }

    $product->assign(['cmsPageId' => $cmsPageId]);
}

```

Tatsächlich wird hier auf das Feature v6.6.0.0 abgefragt (Z.96) was sicher nicht gesetzt ist. Wenn man das return auskommentiert (so wie oben im Code), dann läuft das so wie es soll.  
Aber das Ganze ist natürlich nicht update-sicher, sprich dafür müsste man ein Plugin bauen und dort dann die Zuordnung machen.  
(Kann ich gerne übernehmen, bei Interessen kurze private Nachricht).

---

<div class="post-metadata">

**Author:** ![okle](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@okle](https://forum.shopware.com/u/okle)\
**Post date:** [7. September 2023 um 08:51 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/11 "2023-09-07T08:51:05Z")

</div>

Super, vielen Dank!  
Das bedeutet ja, ich bin nicht zu blöd, sondern das Feature funktioniert generell nicht. Wundert mich nur, dass es dafür keinen Bug-Eintrag gab. Habe das gestern eingetragen.  
Den Hinweis auf V6.6 habe ich noch an anderer Stelle gefunden. Offenbar ist geplant, ab Version 6.6 die cmsPageId anders zu behandeln.  
Ich kommentiere das jetzt mal aus und hoffe, dass mit 6.6 funktionieren wird.  
Falls nicht, komme ich gerne auf dein Angebot zurück.

---

<div class="post-metadata">

**Author:** ![chamaw](https://avatars.discourse-cdn.com/v4/letter/c/b487fb/32.png) [@chamaw](https://forum.shopware.com/u/chamaw)\
**Post date:** [7. September 2023 um 10:46 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/12 "2023-09-07T10:46:30Z")

</div>

müsste dann halt nach jedem Shopware Update wieder gepatcht werden …

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [12. September 2023 um 14:18 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/13 "2023-09-12T14:18:06Z")

</div>

Hast du im Issuetracker [https://issues.shopware.com](https://issues.shopware.com) ein Ticket für das Problem erstellt?

---

<div class="post-metadata">

**Author:** ![okle](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@okle](https://forum.shopware.com/u/okle)\
**Post date:** [12. September 2023 um 14:35 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/14 "2023-09-12T14:35:42Z")

</div>

Ja, habe ich gemacht, mit Bezug auf deine Lösung.

Kannst ja mal voten:

> **[Shopware Issuetracker](https://issues.shopware.com/issues/NEXT-30355)**
>
> Shopware Issuetracker

---

<div class="post-metadata">

**Author:** ![flundi81](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/flundi81/32/24725_2.png) [@flundi81](https://forum.shopware.com/u/flundi81)\
**Post date:** [29. November 2023 um 07:07 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/15 "2023-11-29T07:07:45Z")

</div>

Hi,

das gleich ist auch in der Version 6.4.20.0 drin…

```auto
   private function setDefaultLayout(Entity $product, ?string $salesChannelId = null): void
    {
        if (!Feature::isActive('v6.5.0.0') || !$product->has('cmsPageId')) {
            return;
        }

        if ($product->get('cmsPageId') !== null) {
            return;
        }

        $cmsPageId = $this->systemConfigService->get(ProductDefinition::CONFIG_KEY_DEFAULT_CMS_PAGE_PRODUCT, $salesChannelId);

        if (!$cmsPageId) {
            return;
        }

        $product->assign(['cmsPageId' => $cmsPageId]);
    }

```

---

<div class="post-metadata">

**Author:** ![okle](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@okle](https://forum.shopware.com/u/okle)\
**Post date:** [15. Dezember 2023 um 09:06 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/16 "2023-12-15T09:06:34Z")

</div>

Das Ticket wurde von Shopware ohne Kommentar geschlossen.  
Offenbar ist man nicht daran interessiert, dass Standardlayouts ausgewählt werden können. Obwohl es dieses Feature gibt.  
Seltsam!

---

<div class="post-metadata">

**Author:** ![area-net-gmbh](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/area-net-gmbh/32/21995_2.png) [@area-net-gmbh](https://forum.shopware.com/u/area-net-gmbh)\
**Post date:** [29. Februar 2024 um 15:29 UTC](https://forum.shopware.com/t/eigenes-standard-produktlayout-laesst-sich-nicht-zuweisen/101103/17 "2024-02-29T15:29:22Z")

</div>

Wir haben ein kleines Plugin auf GitHub veröffentlicht, mit dem das Standard Produktlayout geändert werden kann - Link zu GitHub ist in folgendem Thread:

> [@Standard Kategorielayout oder auch Produktlayout ändern](https://forum.shopware.com/t/standard-kategorielayout-oder-auch-produktlayout-aendern/87944/5):
>
> Wir haben ein kleines Plugin auf GitHub veröffentlicht, mit dem das Standard Produktlayout geändert werden kann:
