2015-04-10 4 views
3

Могу ли я обновить фильтр из коллекции Plone (plone.app.collection)?Plone update Collection Filter

У меня есть коллекция с thhose фильтрами:

portal_type = Project 
review_state = published 

С BrowserView (форма) Я хочу, чтобы этот фильтр расширяет прослеживание:

portal_type = Project 
review_state = published 
+ 
subject = ['test', 'foo'] 

Как я могу добиться этого?

+0

Пожалуйста очистить этот вопрос немного: вы настроили portal_type и review_state фильтров в интерфейсе сбора Plone, и вы хотите применять фильтры расширяет программно? –

+0

Да, коллекция показывает все опубликованные Проекты и в пределах формы пользователь может добавить дополнительные критерии фильтра, после отправки Я хочу расширить исходный фильтр с помощью параметров, заданных пользователем – user966660

ответ

4

Это очень просто благодаря недавним изменениям, сделанным на plone.app.collection (обязательно используйте plone.app.collection 1.1.2 или новее).

После сбора загружен в вашем коде, как collection (или возможно context, если вы работаете Ваше мнение о самой коллекции), если вы звоните ...:

results = collection.results() 

... results будет содержит все содержимое найденный самой коллекцией, поэтому с вами применяется фильтр review_state и portal_type.

Но вы можете использовать custom_query параметров следующим образом:

results = collection.results(custom_query={'Subject': ['test', 'foo']}) 
Смежные вопросы