Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Releases and Announcements /

Latest news about the SilverStripe software.

Moderators: martimiz, Sean, Ed, biapar, assertchris, Willr, Ingo, swaiba, Graves

Translatable ClassName BUG?


Go to End


3 Posts   2420 Views

Avatar
maksfeltrin

Community Member, 6 Posts

13 September 2009 at 10:27am

Anyone got this problem too?

When I modify an untranslated page behaviour (ClassName), the translated pages keep the original behaviour (ClassName) so I end up with un untranslated page ( getTranslation(s) look for the same ClassName ) .

The problem is outlined with the following code:

$page->hasTranslation($some_locale) = TRUE

but

$page->getTranslation($some_locale) => NULL

Avatar
maksfeltrin

Community Member, 6 Posts

13 September 2009 at 11:14am

$page->getTranslation($some_locale, 'Stage')

works .... changes in the original language page->ClassName are stored in SiteTree not in SiteTree_Live for translated pages. You need to save & publish every translated page to have changes reflected in SiteTree_Live.

Avatar
Ingo

Forum Moderator, 801 Posts

13 September 2009 at 6:23pm

Hm, changing the classname in the original page should update all children... there's even a unit test for this:
http://open.silverstripe.com/browser/modules/sapphire/trunk/tests/model/TranslatableTest.php#l675 (Line 675).

But you're right, the changes aren't automatically published - mainly to avoid accidentally publishing changed content on the translations.