3214 Posts in 848 Topics by 810 members
|Go to End|
13 September 2009 at 3:39am Last edited: 13 September 2009 3:42am
I have a local development site running MAMP 1.7.2 (PHP Version 5.2.6, Apache 2.0) on mac OS X 10.5 (Safari 4.0.3) and I am with 1and1 for my hosting. All seems to be fine except that I have come across some behaviour that I don't understand and can't seem to resolve - but then I'm not that deeply into the code.
I have multilingual set in my _config.php using: Object::add_extension('SiteTree', 'Translatable'); with no default local defined, but I have two translations en_US and es_ES.
Putting $Translations into my page template on my local dev site results in the following code being delivered in the web-page source:
<li onclick="location.href = this.getElementsByTagName('a').href"><a href="">whatever</a></li>
Whereas it produces an empty result on my live site.
FWIW $Locale gives the correct return on both sites.
I have tried setting dev mode but nothing changes.
Can anyone give me some pointers as to where I might look further for a resolution to the problem?
13 September 2009 at 6:30pm
Hm, to debug anything here we need the actual template code, not the generated markup.
14 September 2009 at 10:54pm Last edited: 14 September 2009 11:20pm
Thanks Ingo, your post reminded me I'd not tired it with the default Blackcandy template (doh!) and, of course, it works with that so I need to do some template debugging.
Edited to add ---
Or not, as the case may be. After more playing around in the name of testing, it appears that some of the pages in the CMS admin aren't marked as existing translations (no idea what I managed to do there because the translations exist!) and that is why no translations appear. Also, the home pages are two of the pages that don't show a translation on the 'Translations' tab, but the ?locale=<whatever> switch works OK.
So, new question:
Is there any way I can easily add the necessary flags in the database to mark pages as translations of other pages, or should I just bite the bullet and re-create the pages?
Is there a page control, such as $URLSegment, that returns a page URL of a translation of the current page? I want to switch between to language versions of a given page and ?locale=<whatever> only seems to work on the home page; which appears to be in keeping with the multilingual documentation.
15 September 2009 at 9:12am
> Is there any way I can easily add the necessary flags in the database to mark pages as translations of other pages, or should I just bite the bullet and re-create the pages?
You can add entries to the SiteTree_translationgroups table manually, although thats not recommended unless you know what you're doing. Currently there's no way in the UI to retroactively associate pages to existing translations, sorry.
> Is there a page control, such as $URLSegment, that returns a page URL of a translation of the current page? I want to switch between to language versions of a given page and ?locale=<whatever> only seems to work on the home page; which appears to be in keeping with the multilingual documentation.
15 September 2009 at 10:12pm Last edited: 15 September 2009 11:19pm
Ok. I looked and wondered if the SiteTree_translationgroups table was the place.
Thanks for the pointer. Sometimes we just need a nudge to see what's right in front of us: I had read the multilingual documentation and tried the ?locale= switch but, of course, if the translations aren't registered in my database, then that explains why it's not working properly for me. *sigh*.
Thanks again for your help and patience, Ingo. It's much appreciated.
|Go to Top|