2016-04-06 9 views
0

Ich versuche, die visible = "" basierend auf der Lokalisierung zu setzen. Mein Plan ist zwei asp: Platzhalter, einer für en-ca, der andere für fr-ca. Dies ist auf meiner .masterpage, nicht eine Umwandlung.Kentico Transformation mit einem Asp: Platzhalter

Ich habe einige csm: Link-Blöcke, die ich brauche die französische Alias-URL anstelle der hart codierten EN diejenigen, die ich derzeit habe.

+0

Also, was ist dein Problem? Sichtbarkeitsmakro? –

Antwort

0

Mark, hast du dir conditional layout angesehen? Ich glaube, das ist etwas, was in Ihrem Fall funktionieren würde.

+0

Macht nichts - sieht aus, als ob es nicht für Kulturen gilt, sorry –

+0

Eine andere Option ist eine bedingte Anweisung im Code hinter und passen Sie die LinkUrl des cms: Link. –

+0

Sind diese internen Link? Löst Kentico sie nicht basierend auf der aktuellen Kultur? –

2

Pro Kentico documentation erstellen Sie einfach eine neue Transformation mit dem lokalen am Ende des Namens der Umwandlung. Es ist kein Platzhalter erforderlich. Zum Beispiel

Standard Transformation cms.news.detail
Französisch Transformation cms.news.detail_fr-ca

0

Anstatt eine asp verwenden: Platzhalter, ich dachte, hinter die folgenden für den Code aus:

  // set culture based items 
 
      // get first two characters of current culture, either en or fr 
 
      string currentCultureCode = CMS.DocumentEngine.DocumentContext.CurrentDocument.DocumentCulture.Substring(0, 2);   
 

 

 
      if (currentCultureCode.Equals("fr")) 
 
      { 
 
       // set french logo 
 
       mainLogo.ImageUrl = "mark.aspx"; 
 
       // set Ask US to FR URL 
 
       AskUs.LinkUrl = "~/demandez-nous.aspx"; 
 
       CEODirect.LinkUrl = "~/president-en-direct.aspx"; 
 
       Events.LinkUrl = "~/evenements.aspx"; 
 
      }

für Französisch, ich bewerte die URL des Logobildes (ich werde es tun, wenn ich es habe), und ich stelle auch LinkURLs ein.

Scheint bis jetzt gut zu funktionieren.