【问题标题】:Orchard CMS - How to Get Current DisplayTypeOrchard CMS - 如何获取当前的 DisplayType
【发布时间】:2014-10-09 02:25:51
【问题描述】:

我在 Views/EditorTemplates/Parts/ 文件夹下有一个自定义 ContentPart 和一个编辑器视图。我正在尝试找出要在我的placement.info 文件中使用的适当的 DisplayType 值,以启动此视图。如果我使用类似这样的东西,我会看到它出现:

<Match ContentType="MyType">
  <Place Parts_MyPart_Edit="Content"/>
</Match>

但我希望能够更明确地定位它:

<Match ContentType="MyType">
  <Match DisplayType="????">-->
    <Place Parts_MyPart_Edit="Content"/>
  </Match>
</Match>

我尝试了“Detail”、“Summary”和“SummaryAdmin”,但均未成功。

所以 2 个问题:

  1. 是否在某处记录了“DisplayType”值的标准列表?
  2. 有没有办法通过断点或其他方式在运行时发现“DisplayType”是什么,以便我可以在placement.info 中进一步限制它?

编辑

再想一想,在使用编辑器模板时是否还涉及“DisplayType”?我刚刚意识到 Parts_MyPart_Edit 可能足够严格,因为它已经针对 _Edit。这是正确的,还是还有一个选项可以匹配可用于编辑器模板的“DisplayType”?

【问题讨论】:

  • 你不是说 Views 文件夹在哪里。它是在主题中还是在模块中?因为它不适用于主题。
  • 对不起,它在我的模块中。另外要澄清的是,如果我不使用 元素限制它,该模板可以正常工作。我只是想更多地了解如何针对编辑器模板的显示类型。
  • 好吧,不,你不应该在这里使用匹配:形状的名称已经不同了。
  • 好的,这就是我的结论。仅出于我的理解,加载零件编辑器时是否还有“DisplayType”在起作用?很好奇,因为驱动编辑器方法没有 displayType 参数。

标签: orchardcms


【解决方案1】:

1:不知道关于该主题的正确文档的确切位置,但这是正确的语法: &lt;Match DisplayType="Summary"&gt; Detail 和 SummaryAdmin 也是有效的显示类型。

除此之外,您还可以定义自己的显示类型:

var shape = _contentManager.BuildDisplay(item, "CustomDisplayType");

那么你的形状/视图必须命名为YourShape.CustomDisplayType.cshtml。 然后你可以在placement.info中使用你的显示类型:

<Match DisplayType="CustomDisplayType">
    <Place Parts_YourPart="Content:1" />
</Match>

2:使用“形状追踪器”模块。启用后,您可以在前端找到使用的显示类型。

您可能在&lt;Place Parts_ 部分中犯了一个错误,或者您的部件驱动程序未正确实现。还要检查你的形状名称是否正确。

【讨论】:

  • 澄清一下,我在编辑器模板中,因此不涉及驱动程序 Display 方法,并且 displayType 似乎不是 Editor 方法的参数。
  • 然后你就可以使用形状追踪模块了。在跟踪形状时,它还会说明它具有哪种显示类型。
  • 确实如此,但仅在“前端”站点上。例如使用自定义表单。
【解决方案2】:

将此作为答案发布,因为我还没有足够高的声誉来添加评论:)

如果您对在管理页面上使用 Shape Tracer 感兴趣,请打开 Orchard.DesignerTools 模块中的 ShapeTracingFactory.cs 文件,并在 IsActivable 方法中注释掉以下行:

if (AdminFilter.IsApplied(new RequestContext(_workContext.HttpContext, new RouteData()))) return false;

我发现这对于准确了解内容创作任务期间发生的事情非常有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多