Sprache in Content Rendern
Um die Sprachunterstützung in einem Content Renderer hinzuzufügen, müssen Sie ein Sprachattribut auf dem OptiWebRequest Objekt angeben. Der Content Renderer muss angepasst werden, um die Sprachunterstützung hinzuzufügen.
-
Definieren Sie einen String, um Sprache einzubinden
StringstrLang =null;
-
Holen Sie die Sprache aus der URL
if(""+ Request.QueryString["LANG"] !="")
{
strLang =""+ Request.QueryString["LANG"];
} -
Prüfen Sie die Sitzung, ob Sprache enthalten ist.
elseif(""+ Session["lang"] !="")
{
strLang =""+ Session["lang"];
} -
Stellen Sie die Standardsprache ein.
if(String.IsNullOrEmpty(strLang))
{
strLang ="EN";
} -
Fügen Sie der Sitzung Sprache hinzu und stellen Sie am Objekt OptiWebRequest Sprache ein.
Session["lang"] = strLang;
Request.Attributes["REQUEST.LANGUAGE"] = strLang; -
Stellen Sie die Sprache im Designer auf Mails, Seiten und Abschnitten ein. Sie können wählen, welche Sprache eine Seite, Mail oder ein Abschnitt haben soll, indem Sie einfach auf Eigenschaften (properties) klicken und die Sprache wählen.
Das Ergebnis der Content Renderer Seite mit Sprachwahl sieht wie folgt aus:
<%@PageTitle="Home Page"Language="C#"AutoEventWireup="true"%>
<%@ImportNamespace="System"%>
<%@ImportNamespace="System.Configuration"%>
<%@ImportNamespace="MessagentNET"%>
<scriptrunat="server">
StringincHead, incBody, incBodyAttr;
protectedvoidPage_Load(objectsender,EventArgse)
{
if(""+ Request.QueryString["ID"] !="")
{
OptiWebRequestiRequest =newOptiWebRequest(this);
iRequest.CollectDebugInfo =false;
iRequest.AutoRedirect =false;
iRequest.MessagentUrl ="http://formations.emsecure.net/optiext/optiextension.dll";
foreach(stringvarinRequest.QueryString)
{
iRequest.Attributes[var] = Request.QueryString[var];
}
foreach(stringvarinRequest.Form.AllKeys)
{
iRequest.Attributes[var] = Request.Form[var];
}
// LANGUAGE
StringstrLang =null;
if(""+ Request.QueryString["LANG"] !="")
{
strLang =""+ Request.QueryString["LANG"];
}
elseif(""+ Session["lang"] !="")
{
strLang =""+ Session["lang"];
}
if(String.IsNullOrEmpty(strLang))
{
strLang ="EN";
}
Session["lang"] = strLang;
iRequest.Attributes["REQUEST.LANGUAGE"] = strLang;
OptiWebResultm_WebResult = iRequest.Send();
incHead = m_WebResult.HtmlHead;
if(m_WebResult.ResultType ==OptiWebResult.OptiWebResultType.Redirect)
incBody ="<script language=\"javascript\" type=\"text/javascript\">\n\tdocument.location = \""+ m_WebResult.Url +"\";\n</scr"+"ipt>";
else
incBody = m_WebResult.HtmlBody;
incBodyAttr =" "+ m_WebResult.HtmlBodyAttr;
}
else
{
incHead ="";
incBody ="Error - No ID provided";
incBodyAttr ="";
}
}
</script>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="en">
<headid="Head1"runat="server">
<linkhref="~/Styles/Site.css"rel="stylesheet"type="text/css"/>
<%=incHead%>
</head>
<body<%=incBodyAttr%>>
<!-- put header/navigation here -->
<%=incBody%>
<!-- put footer/navigation here -->
</body>
</html>
