2012-04-23 9 views
1

How localization worksによれば、ページを翻訳して各言語に異なるURLを付けることができます。チュートリアルから翻訳されたページのローカライズされたURLを生成する

例:

  • http://butterflysite.co.uk/en-GB/Home/contact/Newoffice.aspx(英語)
  • http://vlindersite.nl/nl-NL/thuis/contact/NieuwKantoor.aspx(オランダ)

私の質問は今ある:私はどのように、私は私は現在、午前どの言語を知っていると仮定すると、私のページのURLのタイトルがC#にあるか調べる

現在の言語のページへの正しいリンクを作成するのに、C1 APIを使用する最も良い方法は何ですか?

+0

@?これは複合C1質問です。 – magnattic

+0

Doh!気にしないで。それは月曜日だと私はまだ私のcoffeを持っていない。ごめんなさい。私はそれを削除します。 – JamieSee

答えて

1

バリアントNo1の

public string GetPageUrl(Guid pageId, CultureInfo locale) 
    { 
     using(var conn = new DataConnection(PublicationScope.Published, locale)) 
     { 
      var pageNode = new SitemapNavigator(conn).GetPageNodeById(pageId); 
      return pageNode != null ? pageNode.Url : null; 
     } 
    } 

バリアントNO2の関連ということでどのように

public string GetPageUrl(Guid pageId, CultureInfo locale) 
    { 
     var pageUrlData = new PageUrlData(pageId, PublicationScope.Published, locale); 
     return PageUrls.BuildUrl(pageUrlData, UrlKind.Public, new UrlSpace()); 
    } 
0

atticaeは、CurrentPageNodeに見ている - CurrentPageNode.MenuTitle

+0

http://docs.composite.net/ASP-NET/Composite-C1-API/Sitemap-Navigator –

+0

現在のページノードはリンクしたいノードではありません。またPageNodeのMenutitleは翻訳されていない場合にのみ役立ちます。 – magnattic

+0

アテーコ、詳細をご提供ください、私たちはあなたを助けます – aeont

関連する問題