Domanda

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?

È stato utile?

Soluzione

I have found one solution:

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

<solution>/CMSPages/PortalTemplate.aspx

Altri suggerimenti

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top