复合c1 cms页面标题不再显示?

时间:2013-09-10 12:21:09

标签: c1-cms

我刚刚开始使用复合c1 cms - 我基于razor / bootstrap示例设置了一个网站,该网站工作正常但现在由于某种原因页面标题没有显示。

而是生成的标记如下:

<c1marker:marker xmlns:c1marker="http://www.composite.net/ns/asp.net/controls" key="[Composite.Function.Render.Asp.Net.Control.0]">&nbsp;

我正在从名为title of page的布局中调用页面模板功能: @PageTemplateFeature(“页面标题”)

此功能的代码如下:

<html xmlns:f="http://www.composite.net/ns/function/1.0" xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
    <div class="title">
        <h1>
            <f:function name="Composite.Web.Html.Template.HtmlTitleValue" />&#160;
        </h1>
    </div>
</body>

// --------------------------------------------- ---------------- //

我发现问题以防其他人遇到此问题,我使用的是基于HTML boilder版的模板,HTML标签定义如下:

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

出于某种原因,除非我将xmlns属性添加到html标记中,否则它将无效:

<!DOCTYPE html>
<!--[if lt IE 7]>      
<html xmlns="http://www.w3.org/1999/xhtml" class="no-js lt-ie9 lt-ie8 lt-ie7" lang="@Lang"> <![endif]-->
<!--[if IE 7]>         <html xmlns="http://www.w3.org/1999/xhtml" class="no-js lt-ie9 lt-ie8" lang="@Lang"> <![endif]-->
<!--[if IE 8]>         <html xmlns="http://www.w3.org/1999/xhtml" class="no-js lt-ie9" lang="@Lang"> <![endif]-->
<!--[if gt IE 8]><!--> <html xmlns="http://www.w3.org/1999/xhtml" class="no-js" lang="@Lang"> <!--<![endif]-->
<head>

1 个答案:

答案 0 :(得分:0)

根据documentation您必须插入它以确保您的模板在使用特定的C1 CMS XML元素进行渲染,功能等方面有效。

您可能还注意到代码是用 XHTML 而不是HTML 编写的。 (阅读更多关于命名空间和XHTML的章节“仔细查看模板标记”(很抱歉由于提供链接的堆栈溢出限制我无法正确附加链接但是它在这里有空格 - “https://docs.c1 .orackestra.com / Layout / Xml-Templates / A-Closer-Look-at-Template-Markup#_A_Closer_Look“)。)

简而言之,如果您希望CMS正常运行,建议使用它,它不仅仅基于HTML当然它使用的是HTML,但它也使用其他语言。页面的大部分内容是从发出XHTML文档的函数生成的 - 例如,Razor函数或XSLT函数。 Here is Reference如果你想通过。希望我澄清你的疑问。