質問

How do you edit the HTML tag in a Kentico CMS Masterpage, i.e. to add a class attribute?

Currently I have this:

Kentico masterpage html tag

But I want:

<!DOCTYPE html>
<html class="myClass">
  <head>
    <title>

From the screenshot you can see that the HTML tag is not editable.

Is there a way to edit the html tag or tell Kentico to write a class attribute to the html tag?

役に立ちましたか?

解決

I have found one solution:

I manually added a class attribute to the HTML tag in this file:-

<solution>/CMSPages/PortalTemplate.aspx

他のヒント

You can also use the "Head HTML" web part on your page template(s).

It is quite disappointing that Kentico still does not support this out of the box. A request to be able to modify the <html> tag directly from code has been filed: http://ideas.kentico.com/forums/239189-kentico-product-ideas/suggestions/5947264-ability-to-modify-page-head-section-and-html-tag In the meantime use the following solutions:

Portal Engine

I solved this the following way, based on Dave Haigh suggestion. In the file /CMSPages/PortalTemplate.aspx change the following line:

<html xmlns="http://www.w3.org/1999/xhtml" <%=XmlNamespace%>
    lang="<%=CMSContext.PreferredCultureCode%>">

ASPX Engine

In your master page, add the following snippet to your code behind file:

<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
    if (CurrentDocument != null)
    {          
        CMS.UIControls.ContentPage page= this.Page as CMS.UIControls.ContentPage;
        if (page != null)
        {
            string lang= CMS.Localization.LocalizationContext.CurrentCulture.CultureCode;
            page.XmlNamespace += " lang=\"" + lang + "\"";
        }
    }
}
</script>

Source: http://devnet.kentico.com/questions/kentico-9-how-to-define-language-in-html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top