添加HTML lang属性以支持WCAG 2.0准则时,存在类似的问题。但是,HTML属性由系统文件PortalTemplate.aspx控制,该文件使用Kentico页面的XmlNamespace属性。为了解决这个问题,我们在主页面的布局属性中添加了服务器端代码。但是,这也可以在添加到母版页的Web部件中完成。然后,您可以根据选择的任何条件来更改页面的DocType属性,而不是更改页面的XmlNamespace属性。这会满足您的需求吗?
我继承了使用文档类型为]的Kentico 11站点>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
客户希望使用Kentico的AMP模块创建其页面的AMP变体,该模块将子域用于任何AMP内容。该模块还包含一个布尔宏{%AmpFilter.IsAmpPage()%},用于测试您当前是否正在提供AMP内容。https://github.com/Kentico/kentico-amp
我遇到的问题是AMP似乎想要文档类型为
<!doctype html>
。我不想更改现有网站的文档类型,但看起来也无法在母版页模板的文档类型字段中评估宏。
想知道是否有人遇到过这样的问题;是否有一种方法可以在doctype字段中评估宏,或者我没有想到的其他方法。
我继承了使用文档类型为The client ...的Kentico 11站点...] >>
添加HTML lang属性以支持WCAG 2.0准则时,存在类似的问题。但是,HTML属性由系统文件PortalTemplate.aspx控制,该文件使用Kentico页面的XmlNamespace属性。为了解决这个问题,我们在主页面的布局属性中添加了服务器端代码。但是,这也可以在添加到母版页的Web部件中完成。然后,您可以根据选择的任何条件来更改页面的DocType属性,而不是更改页面的XmlNamespace属性。这会满足您的需求吗?
<script runat="server"> /// Add Page_Load just to insert the "lang" attribute required by WCAG 2.0 Level A guidelines protected void Page_Load(object sender, EventArgs e) { if (CurrentDocument != null) { CMS.UIControls.ContentPage page= this.Page as CMS.UIControls.ContentPage; if (page != null) { System.Globalization.CultureInfo c= new System.Globalization.CultureInfo(CMS.Localization.LocalizationContext.CurrentCulture.CultureCode); string lang= c.TwoLetterISOLanguageName; page.XmlNamespace += " lang=\"" + lang + "\""; page.XmlNamespace += " xml:lang=\"" + lang + "\""; } } } </script>
麦克
添加HTML lang属性以支持WCAG 2.0准则时,存在类似的问题。但是,HTML属性由系统文件PortalTemplate.aspx控制,该文件使用Kentico页面的XmlNamespace属性。为了解决这个问题,我们在主页面的布局属性中添加了服务器端代码。但是,这也可以在添加到母版页的Web部件中完成。然后,您可以根据选择的任何条件来更改页面的DocType属性,而不是更改页面的XmlNamespace属性。这会满足您的需求吗?