如何根据自定义部分中的值对内容进行排序?

时间:2016-10-12 07:32:08

标签: orchardcms orchardcms-1.9

我创建了一个PersonPart并将其附加到我的Employee类型。它包含名字和姓氏,并实现ITitleAspect,这样当我创建一堆员工时,他们都不会显示为"员工"在内容列表中。现在我想创建一个Projection,按字母顺序显示按姓氏排序的所有员工。

我怎样才能做到这一点?是否有任何可以实现FirstNameLastName作为排序条件的界面?

public class PersonPart : ContentPart<PersonPartRecord>, ITitleAspect
{
    [Required]
    [DisplayName("First name")]
    public string FirstName
    {
        get { return Retrieve(r => r.FirstName); }
        set { Store(r => r.FirstName, value); }
    }

    [Required]
    [DisplayName("Last name")]
    public string LastName
    {
        get { return Retrieve(r => r.LastName); }
        set { Store(r => r.LastName, value); }
    }

    public string Title
    {
        get { return LastName + " " + FirstName; }
    }
}

1 个答案:

答案 0 :(得分:3)

要在Orchard中添加新绑定以在自定义查询中使用,您必须添加以下绑定:

  1. 您应该转到Bindings页面,如下所示:
  2. Bindings

    然后按下Add a New Binding按钮。

    1. Add a Binding页面中,您会看到所有记录属性(如果它没有ContentPart,则不会包含ContentPartRecord属性),您可以为他们添加新的绑定:
    2. Add a Binding

      在这里,您可以选择要为其添加绑定的属性。

      1. 然后,您可以自由输入Display文本和Description作为您的财产绑定:
      2. Binding

        1. 现在,如果您转到查询编辑页面并尝试为其添加新过滤器,您将在那里看到新的绑定(请注意,您在上一步中输入的显示名称在此非常重要,用于描述您的绑定对其他人来说非常清楚):
        2. Add a Filter

          1. 最后,您将在Edit Query页面中看到新创建的绑定:
          2. Edit Query