是否可以在占位符中设置组件数?
我们可以在占位符中添加尽可能多的组件,即使已经添加了组件,也可以在灰色框中使用“添加到此处”。
我想说的是
在名为'bodyArea'的plcaceholder中,您只能在'bodyArea'占位符中设置一个组件,并且不会另外添加任何其他组件。
反正怎么办?
答案 0 :(得分:1)
可能有很多方法,但这是我以前用过的。
// Check the number of renderings in placeholder
public static bool numberOfRenderings(string placeholderName)
{
bool rendering = true;
var renderingReferences = Sitecore.Context.Item.Visualization.GetRenderings(Sitecore.Context.Device, true);
int renderingsInPlaceholder = renderingReferences.Where(r => r.Placeholder.EndsWith('/' + placeholderName, StringComparison.OrdinalIgnoreCase)).Count();
if (renderingsInPlaceholder > 1)
{
return rendering = false;
}
return rendering;
}
在View.cshtml中
if (@yourObject.numberOfRenderings("your-placeholder-key")) {
@Html.Sitecore().Placeholder("your-placeholder-key")
}
else
{
@Html.Raw("<div>Only one rendering item is available in this placeholder.</div>")
}
答案 1 :(得分:0)