内部效果图不显示
Inner renderings not displaying
在一个页面中,我有一个带有占位符的渲染,Offcanvas.cshtml
<div data-ads-offcanvas-id="@Model.Id" class="ads-offcanvas @Html.GetCssStyles()">
@{
<a data-ads-offcanvas-trigger-id="@Model.Id" class="ads-close-button" href="#0">X</a>
@Html.Sitecore().Placeholder(LayoutHelper.GetPlaceholder(Placeholders.AccordionSection, Model.Id))
}
并且在该渲染中,我计划放置另一个带有名为 Modal.cshtml
的占位符的渲染
<div data-ads-modal-container="@Model.Id" class="ads-modal-container">
<div class="ads-modal-dialog">
<div class="ads-close-box">
<a data-ads-modal-id="@Model.Id" href="#0">X</a>
</div>
<div class="ads-modal-content">
@Html.Sitecore().Placeholder(LayoutHelper.GetPlaceholder(Placeholders.AccordionSection, Model.Id))
</div>
</div>
看起来像:
-Offcanvas
+-Modal
++-Text content
当我将文本内容放入模态渲染中时,内容没有被渲染。我猜它只渲染前几个渲染图,当渲染图变得高度嵌套时就不会渲染了。
是否有将组件呈现给最上层子节点的解决方案?
谢谢大家!
编辑:
这是 GetPlaceholder 的代码:
public static string GetPlaceholder(string name, Guid id)
{
return $"{name}_{id}";
}
动态占位符比生成唯一占位符键要复杂一些。生成的密钥仍然需要解析回 Sitecore 中定义的真实占位符。
查看 Integrated Dynamic Placeholder module。
这将提供一个类似于您当前实现的 Html 助手:
@Html.Sitecore().DynamicPlaceholder("[Placeholder Name]")
在一个页面中,我有一个带有占位符的渲染,Offcanvas.cshtml
<div data-ads-offcanvas-id="@Model.Id" class="ads-offcanvas @Html.GetCssStyles()">
@{
<a data-ads-offcanvas-trigger-id="@Model.Id" class="ads-close-button" href="#0">X</a>
@Html.Sitecore().Placeholder(LayoutHelper.GetPlaceholder(Placeholders.AccordionSection, Model.Id))
}
并且在该渲染中,我计划放置另一个带有名为 Modal.cshtml
的占位符的渲染<div data-ads-modal-container="@Model.Id" class="ads-modal-container">
<div class="ads-modal-dialog">
<div class="ads-close-box">
<a data-ads-modal-id="@Model.Id" href="#0">X</a>
</div>
<div class="ads-modal-content">
@Html.Sitecore().Placeholder(LayoutHelper.GetPlaceholder(Placeholders.AccordionSection, Model.Id))
</div>
</div>
看起来像:
-Offcanvas
+-Modal
++-Text content
当我将文本内容放入模态渲染中时,内容没有被渲染。我猜它只渲染前几个渲染图,当渲染图变得高度嵌套时就不会渲染了。
是否有将组件呈现给最上层子节点的解决方案?
谢谢大家!
编辑: 这是 GetPlaceholder 的代码:
public static string GetPlaceholder(string name, Guid id)
{
return $"{name}_{id}";
}
动态占位符比生成唯一占位符键要复杂一些。生成的密钥仍然需要解析回 Sitecore 中定义的真实占位符。
查看 Integrated Dynamic Placeholder module。
这将提供一个类似于您当前实现的 Html 助手:
@Html.Sitecore().DynamicPlaceholder("[Placeholder Name]")