From 86f19ccf92cc2c81ef3861240dce8ed968d22371 Mon Sep 17 00:00:00 2001 From: Jonas Wrosch Date: Thu, 29 Jan 2026 12:46:56 +0100 Subject: [PATCH 1/7] fix: Check for active neos installation before trying to fetch Neos Navigation Contents --- src/Listener/NavigationLoadedListener.php | 5 +++++ src/Service/ConfigService.php | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Listener/NavigationLoadedListener.php b/src/Listener/NavigationLoadedListener.php index 5041074..155d40f 100644 --- a/src/Listener/NavigationLoadedListener.php +++ b/src/Listener/NavigationLoadedListener.php @@ -6,6 +6,7 @@ use nlxNeosContent\Factory\NeosPageTreeItemFactory; use nlxNeosContent\Neos\Endpoint\AbstractNeosPageTreeLoader; +use nlxNeosContent\Service\ConfigService; use Shopware\Core\Content\Category\Event\NavigationLoadedEvent; use Symfony\Component\EventDispatcher\Attribute\AsEventListener; @@ -15,11 +16,15 @@ public function __construct( private AbstractNeosPageTreeLoader $neosPageTreeLoader, private NeosPageTreeItemFactory $neosPageTreeItemFactory, + private ConfigService $configService, ) { } public function __invoke(NavigationLoadedEvent $navigationLoadedEvent): void { + if ($this->configService->isEnabled()) { + return; + } $navigation = $navigationLoadedEvent->getNavigation(); $tree = $navigation->getTree(); diff --git a/src/Service/ConfigService.php b/src/Service/ConfigService.php index 260eca9..f39ed96 100644 --- a/src/Service/ConfigService.php +++ b/src/Service/ConfigService.php @@ -22,7 +22,7 @@ public function __construct( public function isEnabled(?string $salesChannelId = null): bool { - return $this->getBaseUrl($salesChannelId) !== null; + return empty($this->getBaseUrl($salesChannelId)); } /** From c5f1e9293988fa278e92313881e5c5789ba4153b Mon Sep 17 00:00:00 2001 From: Jonas Wrosch Date: Thu, 29 Jan 2026 13:57:49 +0100 Subject: [PATCH 2/7] feat: allow nlxNeosNode extension in to be delivered by api --- src/Core/Content/NeosNode/NeosNodeDefinition.php | 6 +++--- .../Definition/Content/Cms/CmsPageDefinitionExtension.php | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Core/Content/NeosNode/NeosNodeDefinition.php b/src/Core/Content/NeosNode/NeosNodeDefinition.php index 4c46a95..36207cb 100644 --- a/src/Core/Content/NeosNode/NeosNodeDefinition.php +++ b/src/Core/Content/NeosNode/NeosNodeDefinition.php @@ -9,12 +9,12 @@ use Shopware\Core\Framework\DataAbstractionLayer\Field\BoolField; use Shopware\Core\Framework\DataAbstractionLayer\Field\DateField; use Shopware\Core\Framework\DataAbstractionLayer\Field\FkField; +use Shopware\Core\Framework\DataAbstractionLayer\Field\Flag\ApiAware; use Shopware\Core\Framework\DataAbstractionLayer\Field\Flag\PrimaryKey; use Shopware\Core\Framework\DataAbstractionLayer\Field\Flag\Required; use Shopware\Core\Framework\DataAbstractionLayer\Field\IdField; use Shopware\Core\Framework\DataAbstractionLayer\Field\OneToOneAssociationField; use Shopware\Core\Framework\DataAbstractionLayer\Field\ReferenceVersionField; -use Shopware\Core\Framework\DataAbstractionLayer\Field\StringField; use Shopware\Core\Framework\DataAbstractionLayer\Field\VersionField; use Shopware\Core\Framework\DataAbstractionLayer\FieldCollection; @@ -36,10 +36,10 @@ protected function defineFields(): FieldCollection { return new FieldCollection([ new VersionField(), - ((new IdField('id', 'id'))->addFlags(new Required(), new PrimaryKey())), + ((new IdField('id', 'id'))->addFlags(new Required(), new PrimaryKey()))->addFlags(new ApiAware()), (new DateField('created_at', 'createdAt')), (new DateField('updated_at', 'updatedAt')), - (new BoolField('neos_connection', 'neosConnection')), + (new BoolField('neos_connection', 'neosConnection'))->addFlags(new ApiAware()), (new FkField('cms_page_id', 'cmsPageId', CmsPageDefinition::class))->addFlags(new Required()), (new ReferenceVersionField(CmsPageDefinition::class, 'cms_page_version_id')), (new OneToOneAssociationField('cmsPage', 'cms_page_id', 'id', CmsPageDefinition::class, false)), diff --git a/src/Extension/Definition/Content/Cms/CmsPageDefinitionExtension.php b/src/Extension/Definition/Content/Cms/CmsPageDefinitionExtension.php index aabac3e..860b16c 100644 --- a/src/Extension/Definition/Content/Cms/CmsPageDefinitionExtension.php +++ b/src/Extension/Definition/Content/Cms/CmsPageDefinitionExtension.php @@ -7,16 +7,18 @@ use nlxNeosContent\Core\Content\NeosNode\NeosNodeDefinition; use Shopware\Core\Content\Cms\CmsPageDefinition; use Shopware\Core\Framework\DataAbstractionLayer\EntityExtension; +use Shopware\Core\Framework\DataAbstractionLayer\Field\Flag\ApiAware; use Shopware\Core\Framework\DataAbstractionLayer\Field\OneToOneAssociationField; use Shopware\Core\Framework\DataAbstractionLayer\FieldCollection; -use Symfony\Component\DependencyInjection\Attribute\AutoconfigureTag; class CmsPageDefinitionExtension extends EntityExtension { public function extendFields(FieldCollection $collection): void { $collection->add( - new OneToOneAssociationField('nlxNeosNode', 'id', 'cms_page_id', NeosNodeDefinition::class, true) + (new OneToOneAssociationField( + 'nlxNeosNode', 'id', 'cms_page_id', NeosNodeDefinition::class, true + ))->addFlags(new ApiAware()) ); } From 1560af2004eecb501314b918cec280b1a8e640c7 Mon Sep 17 00:00:00 2001 From: Jonas Wrosch <106147659+nlx-jonas@users.noreply.github.com> Date: Thu, 29 Jan 2026 13:59:55 +0100 Subject: [PATCH 3/7] Update src/Service/ConfigService.php Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/Service/ConfigService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Service/ConfigService.php b/src/Service/ConfigService.php index f39ed96..dd03e75 100644 --- a/src/Service/ConfigService.php +++ b/src/Service/ConfigService.php @@ -22,7 +22,7 @@ public function __construct( public function isEnabled(?string $salesChannelId = null): bool { - return empty($this->getBaseUrl($salesChannelId)); + return !empty($this->getBaseUrl($salesChannelId)); } /** From 88fc8fa8fb4d361eaa6831cc3c5bb621cfe606e9 Mon Sep 17 00:00:00 2001 From: Jonas Wrosch <106147659+nlx-jonas@users.noreply.github.com> Date: Thu, 29 Jan 2026 14:00:11 +0100 Subject: [PATCH 4/7] Update src/Listener/NavigationLoadedListener.php Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/Listener/NavigationLoadedListener.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Listener/NavigationLoadedListener.php b/src/Listener/NavigationLoadedListener.php index 155d40f..343da24 100644 --- a/src/Listener/NavigationLoadedListener.php +++ b/src/Listener/NavigationLoadedListener.php @@ -22,7 +22,7 @@ public function __construct( public function __invoke(NavigationLoadedEvent $navigationLoadedEvent): void { - if ($this->configService->isEnabled()) { + if (!$this->configService->isEnabled()) { return; } $navigation = $navigationLoadedEvent->getNavigation(); From c210c801c160a9faba712c6a16801d9a51669ce7 Mon Sep 17 00:00:00 2001 From: Jonas Wrosch <106147659+nlx-jonas@users.noreply.github.com> Date: Thu, 29 Jan 2026 14:05:54 +0100 Subject: [PATCH 5/7] Update src/Core/Content/NeosNode/NeosNodeDefinition.php Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/Core/Content/NeosNode/NeosNodeDefinition.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Core/Content/NeosNode/NeosNodeDefinition.php b/src/Core/Content/NeosNode/NeosNodeDefinition.php index 36207cb..fca5902 100644 --- a/src/Core/Content/NeosNode/NeosNodeDefinition.php +++ b/src/Core/Content/NeosNode/NeosNodeDefinition.php @@ -36,7 +36,7 @@ protected function defineFields(): FieldCollection { return new FieldCollection([ new VersionField(), - ((new IdField('id', 'id'))->addFlags(new Required(), new PrimaryKey()))->addFlags(new ApiAware()), + (new IdField('id', 'id'))->addFlags(new Required(), new PrimaryKey(), new ApiAware()), (new DateField('created_at', 'createdAt')), (new DateField('updated_at', 'updatedAt')), (new BoolField('neos_connection', 'neosConnection'))->addFlags(new ApiAware()), From dfd44ef0fd2383c339281044391c1a370b7dbdd2 Mon Sep 17 00:00:00 2001 From: Jonas Wrosch <106147659+nlx-jonas@users.noreply.github.com> Date: Thu, 29 Jan 2026 14:06:08 +0100 Subject: [PATCH 6/7] Update src/Core/Content/NeosNode/NeosNodeDefinition.php Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/Core/Content/NeosNode/NeosNodeDefinition.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Core/Content/NeosNode/NeosNodeDefinition.php b/src/Core/Content/NeosNode/NeosNodeDefinition.php index fca5902..a1150ee 100644 --- a/src/Core/Content/NeosNode/NeosNodeDefinition.php +++ b/src/Core/Content/NeosNode/NeosNodeDefinition.php @@ -42,7 +42,7 @@ protected function defineFields(): FieldCollection (new BoolField('neos_connection', 'neosConnection'))->addFlags(new ApiAware()), (new FkField('cms_page_id', 'cmsPageId', CmsPageDefinition::class))->addFlags(new Required()), (new ReferenceVersionField(CmsPageDefinition::class, 'cms_page_version_id')), - (new OneToOneAssociationField('cmsPage', 'cms_page_id', 'id', CmsPageDefinition::class, false)), + (new OneToOneAssociationField('cmsPage', 'cms_page_id', 'id', CmsPageDefinition::class, false))->addFlags(new ApiAware()), ]); } } From 0b56a6c5cd0d8540d40ef70e5df31be8b67d8e0b Mon Sep 17 00:00:00 2001 From: Jonas Wrosch Date: Fri, 30 Jan 2026 11:56:35 +0100 Subject: [PATCH 7/7] feat: Raise plugin version --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 15b7ac4..0c5e7c1 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "netlogix/neos-content", "description": "This plugin enables Shopware templates to be designed with an Enterprise CMS.", - "version": "0.1.26", + "version": "0.1.27", "type": "shopware-platform-plugin", "license": "MIT", "autoload": {