如果没有内容项,如何在 Sitecore 中呈现模板

How to render a template in Sitecore, if it does not have a content item

这似乎是一个很简单的概念,但我无法解析。我想做的是,render/display 模板的标准值,到页面。
使用 Rocks 创建项目和模板。这是结构。

1.子布局 - footer.ascx

<div class="content">
    <h1>This is a title.</h1>
    <p>All the content goes here</p>
    <sc:placeholder runat="server" Key="footercontent" />   
</div>

2。子布局 - StickyNav.ascx

<a class="btn" href="#">
     <sc:Text Field="Sticky Nav Title" runat="server" />            
 </a>

3。模板 - 粘性导航

第一张图片是模板,第二张图片显示了_Standard Values 中指定的默认值。
然后,在 Sitecore Explorer 中,
right clicked on (Sticky Nav - _Standard Values) > Tasks > Design Layout on Standard Values.

现在,/sitecore/content/ 下有一个内容项 "index"。它声明了这些布局:
当我右键单击 Index > Tools > Browse > Preview 时,索引页面确实打开并且页脚内容也显示出来。

但是,我看不到设置为标准值的文本 'Go To Top'(图 2)。它是空的。

我在这里错过了什么。

可能有一些因素阻碍了显示的内容。对于前端,最好的办法是排除诸如发布之类的事情——即确保模板、字段、标准值和内容项都已正确发布。如果您处于预览阶段,这可能不太相关,但在部署时值得注意

sc:Text 控件呈现时将是 运行 renderField 管道。在交互点,它将通过 api 与 Sitecore 对话。

通过你的控件背后的代码检查事情(假设它是一个 ascx,因为 runat="server" 标签)。检查:

Field field = Sitecore.Context.Item.Fields["Sticky Nav Title"];

if (field != null)
{
    string value = field.Value;
}

并调试以检查该字段是否确实具有您需要的值。

在 cms 中,当您查看感兴趣的页面时,'Sticky Nav Title' 字段似乎有一个值,并且是您感兴趣的值吗?

我意识到最初的想法本身就是一个错误。如果它的值必须显示在页面上,则必须有一个项目。

因此,我使用模板 Sticky Nav/sitecore/content/Sticky Nav Button 下创建了一个新项目。

并且在 StickyNav.ascx 中,将控件更新为:

<sc:Text Field="Sticky Nav Title" runat="server" DataSource = "/sitecore/content/Sticky Nav Button"/>

希望这对像我这样的初学者有所帮助。