2sxc |每个实例复制多于一个倍数的模块页面模板

2sxc | Copy modules page template of more than one multiple for each instance

我可以创建模块的页面模板并将其复制到新页面。

问题在于此模板页面由关闭视图选择器的模块组成,没有 editing/adding 任何数据,因此每个模块只有一个倍数。

我的目标是创建一个模块模板页面,模板页面上已经放置了一行三个模块,但是当我复制它时,它 links 与原始模板的倍数(我认为它考虑将三的倍数添加到模块是否正在输入数据,这会破坏复制模板过程?)。

是否有解决方法可以让模块始终作为 link 列表模板的 3 的倍数放置?

感谢

基本上,您的特殊愿望是创建比默认预览提供的更复杂的预览。在这种情况下策略如下:

  1. 在您的模板中,检测到您正在显示预览项目
  2. 根据需要显示优化后的预览

这是怎么做到的?基本上可以使用 entityID 或 guid 以高可靠性检测预览项目(如果你想保证此功能在 app-export/re-import 之后有效)。

代码大约是。像这样

// detect the demo item, because we shouldn't add inner content while still showing this one
var isDemoItem = Content.EntityGuid.ToString() == "e90752f1-29d5-46a3-984c-408d97feae91"; // use your demo-item guid here
var fakeList = new List<DynamicEntity>();
fakeList.Add(Content);
fakeList.Add(Content);
fakeList.Add(Content);

@foreach (var Content in ( isDemoItem ? fakeList : AsDynamic(Data["Default"]) ))
{
    ...
}

我们的内容手风琴应用程序(尚未发布,但在 github 中可见)使用类似的策略,以确保演示手风琴不会意外地在预览项目中获取内容

https://github.com/2sic/app-accordion-bootstrap3/blob/master/_Accordion.cshtml