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're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

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

problem about getting dataobjects and pages from another translatable local


Go to End


1192 Views

Avatar
ayyurek

Community Member, 41 Posts

17 June 2010 at 2:33pm

Hello,

I have a problem with translatable extension using getTranslation method.

I built a multilingual site with 5 languages, with en_US as default locale. Many content like Image Galleries, Sliders and Events will be common in every language. I have some basic functions in Page.php for showing last 5 events and etc on the sidebar of the pages.

function TopAttractions($num=3) {
	return DataObject::get("AttractionPage", "FeaturedAtts = 1", "ID DESC", "", $num);
	 }

function UpcomingEvents($num=1) {
	return DataObject::get("Event", "", "Date DESC", "", $num);
    }

How can I create a function to always return the dataobjects from the original locale?
function translatedGalleryImages() {
   $Data = $this -> GalleryImages();
   // Get Dataobjects from Original-Languague-Page
   if ($this->Locale != Translatable::default_locale()) {
      $Data = $this->getTranslation(Translatable::default_locale()) -> GalleryImages();
   }
   return $Data;
}

I used the code below for many times, but I used always for getting the child dataobejects of a page. I think it doesn't work with Pages.
Is there anybody who can help? :)