我是使用MVC开发Sitecore的新手。我的页面布局如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@Html.Sitecore().Placeholder("head-meta-content")
</head>
<body>
<div class="willow-page">
@Html.Sitecore().Placeholder("body-content")
</div>
</body>
</html>
我有以下效果图。
全球警报:
@using Sitecore.Mvc;
@model Sitecore.Mvc.Presentation.RenderingModel
<section class="global-alert" role="alert">
<button class="global-
alert__close">@Html.Sitecore().Field("button-text", Model.Item)
</button>
<h1 class="global-
alert__heading">@Html.Sitecore().Field("heading-text", Model.Item)</h1>
<div class="global-alert__content">
@Html.Sitecore().Placeholder("global-alert-content")
</div>
</section>
样式上下文:
@using Sitecore.Mvc;
@model Sitecore.Mvc.Presentation.RenderingModel
<div class="styling-context">
@Html.Sitecore().Field("Content", Model.Item)
<!-- The Content field is should be a Rich Text Field -->
</div>
我想要完成/理解的是这个。在使用布局和2个渲染创建页面时,我想将全局警报添加到布局上的body-content
占位符,然后将样式上下文添加到global-alert-content
占位符。另外,我还想向body-content
占位符添加另一个样式上下文。像这样:
然后,当在Sitecore中查看页面内容选项卡时,我希望看到一个包含全局警报样式上下文的丰富文本字段的部分。 Body Styling上下文。我似乎无法弄清楚如何设置我的数据来实现这一目标。
我尝试设置以下数据模板。
全球警报模板 - 构建器
全球警报模板 - 内容
注意上面基本模板区域中的_stylingContext。
样式上下文 - 构建器
空白页 - 页面模板
请注意上面继承的模板。
全局警报模板正在引入一个样式上下文模板,&amp;页面模板是一个单独的样式上下文模板,我认为页面上有2个。但是没有。
答案 0 :(得分:1)
这是Sitecore的正常行为。原因是因为基本模板中引用了相同的模板。因此,在渲染项目时,Sitecore将看到模板已经渲染,并且不会再渲染它。
如果模板A具有基础模板X而X具有基础模板Y,则模板A也不可能具有Y作为基础模板。
A => X
X => Y
which means A => Y
要允许显示2个Rich Text,您可以执行以下操作: