5121 Posts in 1527 Topics by 1119 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 619 Views |
-
Adding an extra DB field disables translations tab

9 December 2010 at 2:45am
Hi,
I'm kind of a newbie and maybe my question is dumb but i can't find a solution for my problem.
I am trying to translate my site but when i extend my Page class with an extra field and add it to the CMSFileds the Translations tab disappears from the CMS, and I cannot translate the page.
I've added the translations method _t() to the label of the field but still nothing.I am using SilverStripe 2.4.3 with MYSQL and what I've setup:
My config file has:
-------------------------- _config.php --------------------------------------------------------
// Enable Translatable
Object::add_extension('SiteTree', 'Translatable');
Object::add_extension('SiteConfig', 'Translatable');// Default locale language
Translatable::set_default_locale("en_US");// Enable locale
i18n::enable();
// Set the default site locale
i18n::set_locale('en_US');// Define allowed locales overriding those present in i18n::$common_locales
global $allowed_locales;
$allowed_locales = array(
'en_US' => array('English', 'English'),
'de_DE' => array('German', 'Deutsch')
);
i18n::$common_locales = $allowed_locales;
------------------------------------------------------------------------------------------------------I've added to my Page.php in the controller init function and the extension:
--------------------------------- Page.php --------------------------------------------------------
public static $extensions = array(
"Translatable"
);...... Page_Controller.....
if($this->dataRecord->hasExtension('Translatable')) {
i18n::set_locale($this->dataRecord->Locale);
}------------------------------------------------------------------------------------------------------
Thanks in advance.
-
Re: Adding an extra DB field disables translations tab

9 December 2010 at 10:17pm Last edited: 9 December 2010 11:28pm
Ok, i was wrong with the last reply, the issue is with the disable/enable the CMSFieldsExtension :
So do not use something like this (in the getCMSFields() method, but not only there):
SiteTree::disableCMSFieldsExtensions();
$fields = parent::getCMSFields();
SiteTree::enableCMSFieldsExtensions();just simply:
$fields = parent::getCMSFields();
will do it just fine.
Thanks and sorry if i got anyone confused.
| 619 Views | ||
|
Page:
1
|
Go to Top |

