Ciao,
mi trovo nella simpatica situazione di dover fornire la possibilità, alla
Redazione del portale, di permettere che in determinate cartelle e/o
collezioni sia possibile visualizzare oggetti "scaduti" anche all'utenza
anonima.
Il catalog per ogni chiamata fornisce sempre contenti non scaduti. Per
poter forzare questo comportamento è necessario passargli show_inactive
come True.
E in più, per non scrivere nuovi pagetemplate, si potrebbe agevolmente
sfruttare il "contentFilter" che le viste di riepilogo "standard" prendono
in considerazione se presente.
Ovvero:
request.set('contentFilter',{'show_inactive':True})

Io ho in mente due strade alternative, con la premessa simile:
definire una marker interface (ad es. IListaScaduti) che si possa applicare
sulla cartella/collezione target.

- Ipotesi 1
impostare un subscriber che intercetti il before_traverse e nell'handler
mettere un banalissimo IF del tipo "se il contesto implementa IListaScaduti
allora request.set altrimenti passa"

- Ipotesi 2
metter su una viewlet agganciata a IListaScaduti che nella sua __call__
faccia il request.set

Personalmente reputo l'ipotesi 1 "pulita" e zopish, ma suppongo metta a
dura prova - nel suo piccolo - le performance poichè viene richiamata ad
ogni surfing di pagina!
L'ipotesi 2, scarsa di fascino, mi sembra la strada meno dolorosa.

Che ne dite? Suggerimenti?
Vito


-- 
*Vito Falco*
Webdeveloper & designer freelance, Plone enthusiast
Bari, IT
tel +39 3346330137 | skype vito80ba | twitter vito80ba
Linkedin http://it.linkedin.com/in/vitof
_______________________________________________
Plone-IT mailing list
plone...@lists.plone.org
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html

Reply via email to