我有一个自定义ContentPart以及Views / EditorTemplates / Parts /文件夹下的编辑器视图。我试图找出在我的placement.info文件中使用的相应DisplayType值来启动此视图。如果我使用这样的内容,我会看到它显示:
<Match ContentType="MyType">
<Place Parts_MyPart_Edit="Content"/>
</Match>
但我希望能够更明确地将其定位为:
<Match ContentType="MyType">
<Match DisplayType="????">-->
<Place Parts_MyPart_Edit="Content"/>
</Match>
</Match>
我已尝试过&#34;详细信息&#34;,&#34;摘要&#34;和&#34; SummaryAdmin&#34;不成功。
所以有2个问题:
修改
更多地考虑这个问题,是&#39; DisplayType&#39;甚至在使用编辑器模板时参与?我刚刚意识到Parts_MyPart_Edit可能具有足够的限制性,因为它已经在针对_Edit。这是正确的,还是还有一个选项可以匹配&#39; DisplayType&#39;可以用于编辑器模板吗?
答案 0 :(得分:0)
1:不确切知道关于此主题的正确文档的位置,但这是正确的语法:
<Match DisplayType="Summary">
详细信息和SummaryAdmin也是有效的显示类型。
除此之外,您还可以定义自己的显示类型:
var shape = _contentManager.BuildDisplay(item, "CustomDisplayType");
然后您的形状/视图必须命名为YourShape.CustomDisplayType.cshtml
。
然后,您可以在placement.info:
<Match DisplayType="CustomDisplayType">
<Place Parts_YourPart="Content:1" />
</Match>
2:使用&#39;形状示踪剂&#39;模块。启用后,您可以在前端找到使用的显示类型。
您可能在<Place Parts_
部分出错,或者部分驱动程序未正确实施。还要检查你的形状名称是否正确。
答案 1 :(得分:0)
发布此作为答案,因为我还没有足够的声誉来添加评论:)
如果您对在管理页面上使用Shape Tracer感兴趣,请在Orchard.DesignerTools模块中打开ShapeTracingFactory.cs文件,并在IsActivable方法中注释掉以下行:
if (AdminFilter.IsApplied(new RequestContext(_workContext.HttpContext, new RouteData())))
return false;
我发现这对于确定内容创作任务中发生的确切内容非常有用