Fix switching lang for subpages

This commit is contained in:
Flavio Copes
2015-08-21 18:01:20 +02:00
parent 0c0de39376
commit 9d9191974e
3 changed files with 20 additions and 4 deletions

View File

@@ -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';

View File

@@ -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) {

View File

@@ -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>