如何在所有页面中显示占位符,即使它没有配置为这样做?

时间:2012-10-03 17:06:16

标签: sitecore

我在布局中有以下占位符

  • 头占位符
  • 顶背占位符
  • 中心占位符
  • 底背占位符
  • 页脚占位符

以及使用上述布局的以下项目

  • 主页项目 - 用于显示主页
  • 文章项目 - 用于显示文章页面

这里使用上面布局中使用的两个后置占位符来显示页面顶部和底部的后退按钮(这里我将为两个不同的占位符配置相同的子布局,以显示顶部和底部的后退按钮)但这些后退按钮只能在文章页面中显示,而不能在主页中显示。

因此,我仅针对文章项目(使用演示文稿 - >详细信息选项)进行相应配置,而不是针对Home Item.But但是在编辑模式下,我能够看到一个空的部分包含Back占位符,要求返回Sub Sublayouts主页的顶部和底部,虽然我没有在演示文稿中配置它 - >主页项目的详细信息。

请告诉我我错过的设置,即使未配置显示主页,也会显示占位符。

1 个答案:

答案 0 :(得分:3)

您已正确设置,但似乎对占位符与子布局和渲染图有点混淆。

占位符只是可用于包含子布局和/或渲染的区域。占位符可以包含0个或多个子布局和渲染。

在你的例子中: - 占位符仍存在于Home项的布局中。如果没有为该占位符分配子布局或渲染(如在Home项目上所做的那样),则不会在页面上填充任何内容。

在编辑模式(我假设为页面编辑器模式)中,您将看到那些占位符中没有任何内容的区域,因为Sitecore只是允许您根据需要放置内容。 (即它显示占位符在那里为你填充子布局或渲染,但目前没有任何内容。)

如果您想从布局中删除占位符,只是针对主项目,您可以在布局中使用一些代码隐藏来执行以下操作: -

为占位符提供ID(如topBackPlaceholder)。

if (Sitecore.Context.Item.Paths.FullPath == Sitecore.Context.Site.RootPath)
{
    topBackPlaceholder.Visible = false;
}