【问题标题】:Orchard Projections & Collapse Accordion果园投影和折叠手风琴
【发布时间】:2014-01-22 21:55:48
【问题描述】:

我已经创建了自定义内容类型和它们的投影页面,但无法将所有不同的部件和字段硬塞到引导程序 Collapse 中。

我遇到了两个问题:布局的属性重写结果中的字符太多;或者,例如,如果我将 @Display(Model.ContentItem.FunOpp.FunTitle.Value) 添加到自定义 .cshtml 形状,则会收到 'Orchard.ContentManagement.ContentItem' does not contain a definition for 'FunOpp' 错误;或类似的东西取决于我的布局。

自定义内容类型定义为:

字段:

  • 赞助商(文本字段)
  • ​资助机会(链接字段)
  • ​资助名称(文本字段)
  • 关闭/到期日期(文本字段)
  • 融资机会
  • 数字(文本字段)
  • 手风琴折叠编号(文本字段)

零件:

  • 身体

我需要 Funding Title 作为 Accordion-Heading;以及所有剩余的字段和部分作为手风琴内部。

内容很多,Bootstrap 的 Collapse 需要大量标记,因此如果我为 Accordion-Inner 执行 Token/Rewrite Results 路由,显然会出现“字符过多”错误。

但我对 MVC/Razor 的了解还不够多,无法确定为什么会出现 Model.ContentItem 错误。

任何帮助都将不胜感激,无论是以某种方式结合重写输出中的标记来保存字符;或者一种显示各种@Model.ContentItem.FunOpp.xxx.Value的方式

【问题讨论】:

    标签: asp.net-mvc twitter-bootstrap razor accordion orchardcms


    【解决方案1】:

    我不太了解管道,但 Content Item 是一个类,也是一个动态对象。您当前正在尝试从没有此类属性的类中获取 FunOpp,只有动态对象内容项具有。所以你需要做...

    @{
      dynamic item = Model.ContentItem;
      var funtitle = item.FunOpp.FunTitle.Value;
    }
    

    类似的东西

    【讨论】:

    • 谢谢!我已经尝试过这个和类似的代码,但无济于事;但我确信我错过了一些东西——似乎如果你想做任何超出“开箱即用”的事情,就需要很多编程头脑。我没有。
    【解决方案2】:

    启用“形状追踪器”模块以查看模型的确切结构。这是了解果园在后台做什么的最佳方法。

    【讨论】:

    • 我有,这就是我得到Model.ContentItem.FunOpp.FunTitle.Value 形状的方式。问题是我不知道如何最好地利用 Hazza 提供的代码,而不会出现相同的“不包含定义”错误。不过谢谢!
    猜你喜欢
    • 2011-10-01
    • 2012-11-21
    • 2016-02-28
    • 2012-09-23
    • 2014-02-18
    • 2011-11-19
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多