Changeset 2155

Show
Ignore:
Timestamp:
08/27/2007 02:16:27 AM (15 months ago)
Author:
tof
Message:

Add Internationalization to Blog-Tutorial

Location:
trunk/demos/blog-tutorial/protected
Files:
1 added
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/demos/blog-tutorial/protected/application.xml

    r1836 r2155  
    44  <paths> 
    55    <using namespace="Application.common.*" /> 
     6    <using namespace="System.I18N.*" /> 
    67  </paths> 
    7  
     8  <modules> 
     9        <module id="globalization" class="Application.common.BlogTutorialGlobalization" Charset="UTF-8"/> 
     10  </modules> 
    811  <services> 
    912    <service id="page" class="TPageService" DefaultPage="Overview"> 
     
    1114    </service> 
    1215  </services> 
     16  <parameters> 
     17        <parameter id="languages" value="('en'=>'English', 'fr'=>'Français')" /> 
     18  </parameters> 
    1319</application> 
  • trunk/demos/blog-tutorial/protected/layout/MainLayout.php

    r1836 r2155  
    33class MainLayout extends TTemplateControl 
    44{ 
     5 
     6        public function onLoad($param) 
     7        { 
     8                parent::onLoad($param); 
     9                 
     10                $this->languages->DataSource = TPropertyValue::ensureArray($this->Application->Parameters['languages']); 
     11                $this->languages->dataBind(); 
     12        } 
     13 
     14        public function languageLinkCreated($sender, $param) 
     15        { 
     16                $item = $param->Item; 
     17                if($item->ItemType == TListItemType::Item || $item->ItemType == TListItemType::AlternatingItem) 
     18                { 
     19                        $params = $this->Request->toArray(); 
     20                        $params['lang'] = $sender->DataKeys[$item->ItemIndex]; 
     21                        unset($params[$this->Request->ServiceID]); 
     22                        $url = $this->Service->ConstructUrl($this->Service->RequestedPagePath, $params); 
     23                        $item->link->NavigateUrl = $url; 
     24                        if($this->Application->Globalization->Culture == $params['lang']) 
     25                                $item->link->CssClass="active"; 
     26                } 
     27        } 
    528} 
    629 
  • trunk/demos/blog-tutorial/protected/layout/MainLayout.tpl

    r1836 r2155  
    2525</td> 
    2626<td valign="top"> 
    27  
     27<com:TRepeater ID="languages" OnItemCreated="languageLinkCreated"> 
     28        <prop:HeaderTemplate> 
     29                <div class="languages">Available Languages: <ul> 
     30        </prop:HeaderTemplate> 
     31        <prop:ItemTemplate> 
     32                <li><com:THyperLink ID="link" Text=<%# $this->DataItem %> /></li> 
     33        </prop:ItemTemplate> 
     34        <prop:FooterTemplate> 
     35                </ul></div> 
     36        </prop:FooterTemplate> 
     37</com:TRepeater> 
    2838<div id="content"> 
    2939<com:TContentPlaceHolder ID="Main" />