page-level override for redirect_default_route

This commit is contained in:
Andy Miller
2022-01-13 06:20:38 -07:00
parent da6b41f8a6
commit 0bb52c75ce
3 changed files with 15 additions and 1 deletions

View File

@@ -5,6 +5,7 @@
* Added links and modules support to `HtmlBlock` class
* Added module support for twig script tag: `{% script module 'theme://js/module.mjs' %}`
* Added twig tag for links: `{% link icon 'theme://images/favicon.png' priority: 20 with { type: 'image/png' } %}`
* Support for page-level `redirect_default_route` frontmatter header override
# v1.7.27.1
## 01/12/2022

View File

@@ -320,6 +320,18 @@ form:
fields:
header.redirect_default_route:
type: toggle
toggleable: true
label: PLUGIN_ADMIN.REDIRECT_DEFAULT_ROUTE
help: PLUGIN_ADMIN.REDIRECT_DEFAULT_ROUTE_HELP
config-highlight@: system.pages.redirect_default_route
options:
1: PLUGIN_ADMIN.YES
0: PLUGIN_ADMIN.NO
validate:
type: bool
header.routes.default:
type: text
toggleable: true

View File

@@ -99,7 +99,8 @@ class PagesServiceProvider implements ServiceProviderInterface
/** @var Language $language */
$language = $grav['language'];
$redirectCode = (int)$config->get('system.pages.redirect_default_route', 0);
$redirect_default_route = $page->header()->redirect_default_route ?? $config->get('system.pages.redirect_default_route', 0);
$redirectCode = (int) $redirect_default_route;
// Language-specific redirection scenarios
if ($language->enabled() && ($language->isLanguageInUrl() xor $language->isIncludeDefaultLanguage())) {