From 37126c68c767aa5d247313ab7638417c2e1dbb8f Mon Sep 17 00:00:00 2001 From: Alexander Nitsche Date: Wed, 25 Jan 2023 18:22:08 +0100 Subject: [PATCH 1/3] TASK: Automatic redirection to parent page of folder in frontend --- Resources/Private/Fusion/Document/Folder.fusion | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Resources/Private/Fusion/Document/Folder.fusion b/Resources/Private/Fusion/Document/Folder.fusion index 74d41de..50c9cc7 100644 --- a/Resources/Private/Fusion/Document/Folder.fusion +++ b/Resources/Private/Fusion/Document/Folder.fusion @@ -33,9 +33,14 @@ prototype(Breadlesscode.NodeTypes.Folder:Document.Folder) < prototype(Neos.Fusio default { condition = true - renderer = Neos.Neos:Page { - body = Neos.Neos:Shortcut { - targetMode = 'parentNode' + renderer = Neos.Fusion:Http.Message { + httpResponseHead { + statusCode = 301 + headers { + Location = Neos.Neos:NodeUri { + node = ${q(documentNode).parent()} + } + } } } } From 169e9eff9889a21b9d23939af8e102967443cd79 Mon Sep 17 00:00:00 2001 From: Alexander Nitsche Date: Thu, 26 Jan 2023 13:49:28 +0100 Subject: [PATCH 2/3] BUGFIX: Create correct URI of parent document node .. and use documentNode instead of node consistently, as stated by Sebobo: "documentNode and node are sometimes the same thing, but documentNode makes it easier to read the code". --- Resources/Private/Fusion/Document/Folder.fusion | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Private/Fusion/Document/Folder.fusion b/Resources/Private/Fusion/Document/Folder.fusion index 50c9cc7..269bb70 100644 --- a/Resources/Private/Fusion/Document/Folder.fusion +++ b/Resources/Private/Fusion/Document/Folder.fusion @@ -26,7 +26,7 @@ prototype(Breadlesscode.NodeTypes.Folder:Document.Folder) < prototype(Neos.Fusio } body { templatePath = 'resource://Breadlesscode.NodeTypes.Folder/Private/Templates/Folder.html' - title = ${q(node).property('title')} + title = ${q(documentNode).property('title')} } } } @@ -38,7 +38,7 @@ prototype(Breadlesscode.NodeTypes.Folder:Document.Folder) < prototype(Neos.Fusio statusCode = 301 headers { Location = Neos.Neos:NodeUri { - node = ${q(documentNode).parent()} + node = ${q(documentNode).parent().get(0)} } } } From 937fd6a60257ac1238754c455d80ce0a0cc77ea0 Mon Sep 17 00:00:00 2001 From: Alexander Nitsche Date: Fri, 17 Mar 2023 09:58:04 +0100 Subject: [PATCH 3/3] TASK: Use "See Other" redirect (303) in frontend This is aligned with the internal handling of shortcuts in Neos Core. --- Resources/Private/Fusion/Document/Folder.fusion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Private/Fusion/Document/Folder.fusion b/Resources/Private/Fusion/Document/Folder.fusion index 269bb70..ddebd1d 100644 --- a/Resources/Private/Fusion/Document/Folder.fusion +++ b/Resources/Private/Fusion/Document/Folder.fusion @@ -35,7 +35,7 @@ prototype(Breadlesscode.NodeTypes.Folder:Document.Folder) < prototype(Neos.Fusio condition = true renderer = Neos.Fusion:Http.Message { httpResponseHead { - statusCode = 301 + statusCode = 303 headers { Location = Neos.Neos:NodeUri { node = ${q(documentNode).parent().get(0)}