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

#orchardcms #orchardcms-1.9

#orchardcms #orchardcms-1.9

Вопрос:

Я создал PersonPart и прикрепил его к своему типу Employee. Он содержит имя и фамилию и реализует 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. Вы можете добавить свои новые привязки на вкладке «Привязки» в меню «Запросы».

2. @mdameer Это то, что мне было нужно. Кажется очевидным, но это легко не заметить. Не удалось найти никого, кто указал бы на этот простой факт после 20 минут поиска в Google, поэтому я думаю, что было бы полезно иметь его здесь в качестве принятого ответа.

Ответ №1:

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

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

Привязки

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

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

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

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

  1. Затем вы можете ввести Display текст и Description для привязки вашего свойства:

Привязка

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

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

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

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