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

Sitecore:知道当前子布局所在的占位符吗?,sitecore,Sitecore,有没有办法通过代码知道子布局位于哪个占位符中 场景:如果子布局在占位符B中而不是占位符a中,我希望它看起来有点不同。我可以使用子布局参数来实现这一点,但我正在尝试这样做,以便作者不必设置值,而且子布局足够聪明,可以知道它在什么上下文中使用。使用规则引擎做一些聪明的事情,这可能就是我解决这个问题的方法-可能使用基于占位符的规则引擎更改渲染参数,然后在代码中基于占位符做一些事情 但您可以从代码中执行以下操作: Sublayout Sublayout=this.Parent作为Sublayout; i

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


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

使用规则引擎做一些聪明的事情,这可能就是我解决这个问题的方法-可能使用基于占位符的规则引擎更改渲染参数,然后在代码中基于占位符做一些事情

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

Sublayout Sublayout=this.Parent作为Sublayout;
if(子布局!=null)
{
占位符占位符=子布局。父项作为占位符;
if(占位符!=null)
{
//容器占位符的名称
字符串占位符Key=placeholder.Key;
//嵌套占位符的完整路径
字符串占位符ContextKey=placeholder.ContextKey;
}
}

正如@jammykam所说,我还鼓励您使用规则引擎来实现解决方案。 为此,我将在Stackoverflow上为您指出这个方向(我想)

这将使您能够很好地了解其他用户所面临的类似场景

最后,我会鼓励你阅读

希望以上内容能帮助您找到您想要的解决方案