2014-09-10 2 views
1

Я пытаюсь добавить дополнительную опцию фильтра в список содержимого (admin/contents/list) в Orchard. Я начал с репликации существующего фильтра по типам контента и дошел до того, что смог отобразить свой новый список фильтров, заполнить его и т. Д.Orchard CMS: добавление фильтра в содержание/список

В AdminController для содержимого есть метод ActionResult, называемый List, который называется как при начальной загрузке, так и после сообщения (через перенаправление), который, как представляется, строится в запросе. Глядя на существующий фильтр для типов содержимого Я вижу это:

query = query.ForType(model.TypeName); 

То, что я немного запутался здесь, как расширить этот пример для запроса локалью (культуры) с содержанием пункта. Имеет ли смысл использовать метод .ForPart? Хотя мне нужно быть осторожным здесь, поскольку в представлении по умолчанию я хочу показать только «en», но я также хочу отображать любые элементы без LocalizationPart (в отличие от того, когда я фактически фильтрую определенную Культуру), а затем не хочу показать детали без LocalizationPart)

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

Если кто-нибудь может дать мне указатели о том, где искать это будет наиболее ценится.

ответ

2

Вы можете добавить query = query.Where<LocalizationPart, LocalizationPartRecord>(x => x.Culture == "en") в случае, если указанная культура указана, а не называть это в других случаях.

+0

Как странно - после опубликования вчерашнего вопроса я начал играть с различными вариантами, включая просмотр того, как была выполнена фильтрация в LocalizationService, - но по какой-то причине, когда я пытался использовать что-то похожее на вышесказанное, он не работал. ОДНАКО, мне удалось заставить это работать, если я изменил его как таковой: 'query = query.Where (x => x.CultureId == cultureId);' Оказывается, что у меня была ошибка в моем коде в другом месте, что вызывало неправильную настройку CultureId. Спасибо! –

Смежные вопросы