diff --git a/src/bundle/Controller/ContentController.php b/src/bundle/Controller/ContentController.php index 5352b23540..a36ae38c57 100644 --- a/src/bundle/Controller/ContentController.php +++ b/src/bundle/Controller/ContentController.php @@ -351,6 +351,7 @@ public function previewAction( ?Location $location = null ): Response { $preselectedSiteAccess = $request->query->get('preselectedSiteAccess'); + $referrer = $request->query->get('referrer'); if (null === $languageCode) { $languageCode = $content->contentInfo->mainLanguageCode; @@ -396,6 +397,7 @@ public function previewAction( 'siteaccesses' => $siteAccessesList, 'version_no' => $versionNo ?? $content->getVersionInfo()->versionNo, 'preselected_site_access' => $preselectedSiteAccess, + 'referrer' => $referrer ?? 'content_draft_edit', ]); } diff --git a/src/bundle/Resources/views/themes/admin/content/content_preview.html.twig b/src/bundle/Resources/views/themes/admin/content/content_preview.html.twig index bda6393db1..4336621ffd 100644 --- a/src/bundle/Resources/views/themes/admin/content/content_preview.html.twig +++ b/src/bundle/Resources/views/themes/admin/content/content_preview.html.twig @@ -12,9 +12,23 @@ {% block header_row %}
+ {% if referrer == 'content_draft_edit' %} + {% set back_url = url('ibexa.content.draft.edit', { + contentId: content.id, + versionNo: version_no, + language: language_code, + locationId: is_published ? location.id : null, + }) %} + {% else %} + {% set back_url = url('ibexa.content.view', { + contentId: content.id, + locationId: location.id, + }) %} + {% endif %} + diff --git a/src/lib/Menu/ContentRightSidebarBuilder.php b/src/lib/Menu/ContentRightSidebarBuilder.php index d185ce84de..30f0356a8b 100644 --- a/src/lib/Menu/ContentRightSidebarBuilder.php +++ b/src/lib/Menu/ContentRightSidebarBuilder.php @@ -496,6 +496,7 @@ private function getContentPreviewItem( 'versionNo' => $content->getVersionInfo()->versionNo, 'languageCode' => $languageCode, 'locationId' => $location->id, + 'referrer' => 'content_view', ], ]; } else {