Как отсортировать контент на основе значений в пользовательской части?
Я создал 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 для использования в пользовательских запросах, необходимо добавить эти привязки следующим образом:
- Вы должны пойти в
Bindings
страница следующим образом:
затем нажмите на Add a New Binding
кнопка.
- В
Add a Binding
страница, вы увидите все ваши записи свойств (он не будет включать в себя вашContentPart
свойства, если это не имеетContentPartRecord
), в которую вы можете добавить новую привязку для них:
Здесь вы можете выбрать свойство, для которого вы хотите добавить привязку.
- Тогда вы можете войти в
Display
текст иDescription
для вашей собственности обязательна:
- Теперь, если вы перейдете на страницу редактирования запроса и попытаетесь добавить новый фильтр для нее, вы увидите там новую привязку (обратите внимание, что отображаемое имя, введенное вами на предыдущем шаге, очень важно здесь, чтобы описать вашу привязку, которая будет очень понятно для других)
- Наконец, вы увидите вновь созданную привязку в вашем
Edit Query
страница: