mirror of
https://github.com/silverstripe/silverstripe-translatable
synced 2024-10-22 09:05:59 +00:00
Translation of SiteConfig
Fixed editing of translated configs, and added a link for the 'add translation' not working for siteconfigs
This commit is contained in:
parent
2fb20aa7e5
commit
5b38cc31b8
@ -1,4 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
Object::add_extension('SiteTree', 'Translatable');
|
Object::add_extension('SiteTree', 'Translatable');
|
||||||
Object::add_extension('SiteConfig', 'Translatable');
|
Object::add_extension('SiteConfig', 'Translatable');
|
||||||
Object::add_extension('CMSMain', 'TranslatableCMSMainExtension');
|
Object::add_extension('LeftAndMain', 'TranslatableCMSMainExtension');
|
@ -79,7 +79,7 @@ class TranslatableCMSMainExtension extends Extension {
|
|||||||
|
|
||||||
$langCode = Convert::raw2sql($request->postVar('NewTransLang'));
|
$langCode = Convert::raw2sql($request->postVar('NewTransLang'));
|
||||||
$record = $this->owner->getRecord($request->postVar('ID'));
|
$record = $this->owner->getRecord($request->postVar('ID'));
|
||||||
if(!$record) return $this->httpError(404);
|
if(!$record) return $this->owner->httpError(404);
|
||||||
|
|
||||||
$this->owner->Locale = $langCode;
|
$this->owner->Locale = $langCode;
|
||||||
Translatable::set_current_locale($langCode);
|
Translatable::set_current_locale($langCode);
|
||||||
@ -91,11 +91,10 @@ class TranslatableCMSMainExtension extends Extension {
|
|||||||
// @todo Allow in-memory creation of translations that don't persist in the database before the user requests it
|
// @todo Allow in-memory creation of translations that don't persist in the database before the user requests it
|
||||||
$translatedRecord = $record->createTranslation($langCode);
|
$translatedRecord = $record->createTranslation($langCode);
|
||||||
|
|
||||||
$url = sprintf(
|
$url = Controller::join_links(
|
||||||
"%s/%d/?locale=%s",
|
$this->owner->Link('show'),
|
||||||
singleton('CMSPageEditController')->Link('show'),
|
|
||||||
$translatedRecord->ID,
|
$translatedRecord->ID,
|
||||||
$langCode
|
'?locale=' . $langCode
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->owner->redirect($url);
|
return $this->owner->redirect($url);
|
||||||
|
@ -238,9 +238,9 @@ class Translatable extends DataExtension implements PermissionProvider {
|
|||||||
return self::$current_locale;
|
return self::$current_locale;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((isset($_GET['locale']) && !$langsAvailable) || (isset($_GET['locale']) && in_array($_GET['locale'], $langsAvailable))) {
|
if((isset($_REQUEST['locale']) && !$langsAvailable) || (isset($_REQUEST['locale']) && in_array($_REQUEST['locale'], $langsAvailable))) {
|
||||||
// get from GET parameter
|
// get from request parameter
|
||||||
self::set_current_locale($_GET['locale']);
|
self::set_current_locale($_REQUEST['locale']);
|
||||||
} else {
|
} else {
|
||||||
self::set_current_locale(self::default_locale());
|
self::set_current_locale(self::default_locale());
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
* Requires:
|
* Requires:
|
||||||
* jquery.metadata
|
* jquery.metadata
|
||||||
*/
|
*/
|
||||||
$('.CMSMain :input[name=action_createtranslation]').entwine({
|
$('.LeftAndMain :input[name=action_createtranslation]').entwine({
|
||||||
|
|
||||||
onclick: function(e) {
|
onclick: function(e) {
|
||||||
this.parents('form').trigger('submit', [this]);
|
this.parents('form').trigger('submit', [this]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user