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.

  1. Definieren Sie einen String, um Sprache einzubinden

    StringstrLang =null;

  2. Holen Sie die Sprache aus der URL

    if(""+ Request.QueryString["LANG"] !="")
    {
        strLang =""+ Request.QueryString["LANG"];
    }

  3. Prüfen Sie die Sitzung, ob Sprache enthalten ist.

    elseif(""+ Session["lang"] !="")
    {
         strLang =""+ Session["lang"];
    }

  4. Stellen Sie die Standardsprache ein.

    if(String.IsNullOrEmpty(strLang))
    {
       strLang ="EN";
    }

  5. Fügen Sie der Sitzung Sprache hinzu und stellen Sie am Objekt OptiWebRequest Sprache ein.

    Session["lang"] = strLang;        
    R
    equest.Attributes["REQUEST.LANGUAGE"] = strLang;

     

  6. 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>

Zurück