diff --git a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php index 5164004..1f83a23 100644 --- a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php +++ b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php @@ -2602,6 +2602,9 @@ protected function isBaseTableTranslatable() { /** * Act on saving a view. + * + * @param array $orginal_display + * The display settings, of the original entity. */ public function postSaveView(array $orginal_display) { } diff --git a/core/modules/views/src/Plugin/views/display/Page.php b/core/modules/views/src/Plugin/views/display/Page.php index 732fc47..dff61ec 100644 --- a/core/modules/views/src/Plugin/views/display/Page.php +++ b/core/modules/views/src/Plugin/views/display/Page.php @@ -501,6 +501,11 @@ public function postSaveView(array $original_display) { 'tab_options' => [], ]; + $original_display += [ + 'menu' => [], + 'tab_options' => [], + ]; + if ($this->display['display_options']['menu'] != $original_display['display_options']['menu']) { $route_rebuild = TRUE; } diff --git a/core/modules/views/src/Plugin/views/display/PathPluginBase.php b/core/modules/views/src/Plugin/views/display/PathPluginBase.php index f8a935b..c8802a4 100644 --- a/core/modules/views/src/Plugin/views/display/PathPluginBase.php +++ b/core/modules/views/src/Plugin/views/display/PathPluginBase.php @@ -527,6 +527,13 @@ public function postSaveView(array $original_display) { 'access' => [], ]; + $original_display += [ + 'path' => '', + 'route_name' => '', + 'arguments' => [], + 'access' => [], + ]; + if ($this->display['display_options']['path'] != $original_display['display_options']['path']) { $route_rebuild = TRUE; }