mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2026-05-06 07:46:50 +02:00
Fix switching lang for subpages
This commit is contained in:
@@ -1079,8 +1079,20 @@ class AdminController
|
||||
* @return bool True if the action was performed.
|
||||
*/
|
||||
protected function taskSwitchlanguage() {
|
||||
$language = $this->grav['uri']->param('lang');
|
||||
$redirect = $this->grav['uri']->param('redirect') ? 'pages/' . $this->grav['uri']->param('redirect') : 'pages';
|
||||
$data = $this->post;
|
||||
|
||||
if (isset($data['lang'])) {
|
||||
$language = $data['lang'];
|
||||
} else {
|
||||
$language = $this->grav['uri']->param('lang');
|
||||
}
|
||||
|
||||
if (isset($data['redirect'])) {
|
||||
$redirect = 'pages/' . $data['redirect'];
|
||||
} else {
|
||||
$redirect = 'pages';
|
||||
}
|
||||
|
||||
|
||||
if ($language) {
|
||||
$this->grav['session']->admin_lang = $language ?: 'en';
|
||||
|
||||
@@ -307,6 +307,10 @@
|
||||
if (values.task == 'saveas') {
|
||||
values.lang = $(root.clickedButton).attr('lang');
|
||||
}
|
||||
if (values.task == 'switchlanguage') {
|
||||
values.lang = $(root.clickedButton).attr('lang');
|
||||
values.redirect = $(root.clickedButton).attr('redirect');
|
||||
}
|
||||
}
|
||||
|
||||
if (!values.task) {
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
<ul class="dropdown-menu language-switcher">
|
||||
{% for language in admin.languages_enabled %}
|
||||
{% if language != admin_lang %}
|
||||
<li><a href="{{ base_url_relative }}{{ theme.slug }}/pages/task{{ config.system.param_sep }}switchlanguage/lang{{ config.system.param_sep }}{{language}}">{{ admin.siteLanguages[language]|capitalize }}</a></li>
|
||||
<li><a href="{{ base_url_relative }}{{ theme.slug }}/pages/task{{ config.system.param_sep }}switchlanguage/lang{{ config.system.param_sep }}{{language}}">{{ admin.siteLanguages[language]|capitalize }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
@@ -169,7 +169,7 @@
|
||||
<ul class="dropdown-menu language-switcher">
|
||||
{% for language, route in context.translatedLanguages %}
|
||||
{% if language != page_lang %}
|
||||
<li><a href="{{ base_url_relative }}{{ theme.slug }}/pages/task{{ config.system.param_sep }}switchlanguage/lang{{ config.system.param_sep }}{{language}}/redirect{{ config.system.param_sep }}{{ route|trim('/') }}">{{ admin.siteLanguages[language]|capitalize }}</a></li>
|
||||
<li><button class="button task" name="task" value="switchlanguage" lang="{{language}}" redirect="{{context.rawRoute|trim('/')}}" form="blueprints">{{ admin.siteLanguages[language]|capitalize }}</button>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user