Как отсортировать контент на основе значений в пользовательской части?

Я создал PersonPart и прикрепил его к типу сотрудника. Он содержит имя и фамилию и реализует ITitleAspect так что, когда я создаю группу сотрудников, они не все отображаются как "сотрудники" в списке содержимого. Теперь я хочу создать проекцию, которая отображает всех сотрудников, упорядоченных по фамилии в алфавитном порядке.

Как я могу сделать это? Есть ли интерфейс, который я могу реализовать, чтобы сделать FirstName а также LastName доступны как критерии сортировки?

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 ответ

Решение

Чтобы добавить новые привязки в Orchard для использования в пользовательских запросах, необходимо добавить эти привязки следующим образом:

  1. Вы должны пойти в Bindings страница следующим образом:

Наручники

затем нажмите на Add a New Binding кнопка.

  1. В Add a Binding страница, вы увидите все ваши записи свойств (он не будет включать в себя ваш ContentPart свойства, если это не имеет ContentPartRecord), в которую вы можете добавить новую привязку для них:

Добавить привязку

Здесь вы можете выбрать свойство, для которого вы хотите добавить привязку.

  1. Тогда вы можете войти в Display текст и Description для вашей собственности обязательна:

переплет

  1. Теперь, если вы перейдете на страницу редактирования запроса и попытаетесь добавить новый фильтр для нее, вы увидите там новую привязку (обратите внимание, что отображаемое имя, введенное вами на предыдущем шаге, очень важно здесь, чтобы описать вашу привязку, которая будет очень понятно для других)

Добавить фильтр

  1. Наконец, вы увидите вновь созданную привязку в вашем Edit Query страница:

Редактировать запрос

Другие вопросы по тегам