Sitecore:知道当前子布局所在的占位符吗?

标签 sitecore

有没有办法通过代码知道子布局位于哪个占位符?

场景:如果子布局位于占位符 B 而不是占位符 A,我希望子布局看起来有点不同。我可以使用子布局参数来做到这一点,但我正在努力做到这一点,这样作者就不必设置值,而是子布局足够聪明,可以知道它在什么上下文中使用。

最佳答案

您可能可以使用规则引擎做一些聪明的事情,这可能就是我将如何解决这个问题 - 可能使用基于占位符的规则引擎更改渲染参数,然后基于此在您的代码中执行某些操作......

但是您可以从代码中执行以下操作:

Sublayout sublayout = this.Parent as Sublayout;
if (sublayout != null)
{
    Placeholder placeholder = sublayout.Parent as Placeholder;
    if (placeholder != null)
    {
        // name of the container placeholder
        string placeHolderKey = placeholder.Key;
        // full path of nested placeholders
        string placeHolderContextKey = placeholder.ContextKey;
    }
}

关于Sitecore:知道当前子布局所在的占位符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19938636/

相关文章:

站点核心 8.1 : on selecting condition link in personalization throwing 'element is Empty' exception

sitecore - 对上传到 Sitecore 的文件进行病毒扫描

c# - Sitecore 分组下拉列表

editor - sitecore 编辑框架 buttonRoot 未设置为编辑框架

c# - 要在 sitecore 的新选项卡中打开的返​​回 URL 的保留类型应该是什么?

asp.net - 使用 Visual Studio 2008 调试 Sitecore 6

Sitecore 在多站点租赁中发布站点

.net - Sitecore RTE 类别列表未更新

sitecore通过客户端url查询项目

sitecore - 从 sitecore 内容编辑器中项目的图像字段浏览时,媒体库未列出任何媒体项目