【问题标题】:Customizing Containable Content in Orchard CMS在 Orchard CMS 中自定义包含的内容
【发布时间】:2011-07-21 18:40:29
【问题描述】:

我目前正在尝试更多地了解 Orchard 如何处理自定义内容类型列表,但我遇到了一些问题。

我创建了一个名为Story的内容类型,它包含以下部分:

  • 身体
  • 常见
  • 可容纳
  • 路线

我创建了一个包含这些项目的列表,我想做的就是以这样的方式设置它们的样式:

Story Title
Story Description (Basically a truncated version of the body?)

但是,我似乎无法弄清楚如何执行以下操作:

  1. 让标题实际出现目前出现的只是正文和更多链接
  2. 删除“更多”链接并将其更改为实际标题

我已考虑更改 Placement.info,并查看了所有内容,试图找到在每个项目中添加“更多”链接的位置。任何帮助将不胜感激。

【问题讨论】:

    标签: list content-type customization orchardcms containable


    【解决方案1】:

    我终于弄明白了 - 感谢Designer Tools Module,它让我们可以非常轻松地了解页面生成期间的幕后情况。

    基本上 - 完成此操作所需要做的就是对 Parts.Common.Body.Summary.cshtml 文件进行一些小改动。 (通过 ../Core/Common/Views/找到)

    最初类似于以下内容:

    @{     
    
    [~.ContentItem] contentItem = Model.ContentPart.ContentItem;
    string bodyHtml = Model.Html.ToString();
    var body = new HtmlString(Html.Excerpt(bodyHtml, 200).ToString()
                   .Replace(Environment.NewLine,"</p>"+Environment.NewLine+"<p>")); 
    
    }
    
    <p>@body @Html.ItemDisplayLink(T("more").ToString(), contentItem)</p>
    

    但是通过进行一些更改(通过使用设计器工具),我将其更改为以下内容:

    @{ 
    
    [~.ContentItem] contentItem = Model.ContentPart.ContentItem;
    string bodyHtml = Model.Html.ToString();
    string title = Model.ContentPart.ContentItem.RoutePart.Title;
    string summary = Html.Excerpt(bodyHtml, 100) + "...";
    
    }
    
    <div class='story'>
        <p>
        @Html.ItemDisplayLink(title, contentItem)
        </p>
        <summary>
        @summary
        </summary>
    </div>
    

    虽然它可以很容易地缩短一点 - 它确实使样式更容易处理。无论如何-我希望这会有所帮助:)

    【讨论】:

      【解决方案2】:

      或者,您可以使用主题中的placement.info 文件将不同的字段分配给您的摘要和详细信息视图。它更简单。

      http://orchardproject.net/docs/Understanding-placement-info.ashx

      但是,在我发现 .info 文件之前,我使用了与您相同的方法。它的工作原理使您可以很好地了解系统的工作原理,但placement.info 文件似乎更容易。

      另外,您可能不想在 Core 中编辑视图文件。我认为您的意思是覆盖主题目录中的视图。

      【讨论】:

      • 对 - 我最终阅读了更多关于覆盖和使用替代视图的信息,所以我稍微改变了一些东西。我曾多次查看操作 Placement.info 文件,因为我在其他区域对其进行了更改。我会再修改一下,我只是在寻找一种简单的方法来完全重新设计所有区域。谢谢丹尼尔:)
      猜你喜欢
      • 2011-08-19
      • 1970-01-01
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      相关资源
      最近更新 更多