Ich habe das „Problem“ gefunden.
in der Datei /vendor/shopware/core/Content/Product/Subscriber/ProductSubscriber.php
steht ab Zeile 94 der Code
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).