Ho seguito lo standard this URL per aiutarmi a creare visualizzazioni di template utilizzando BrowserView. Finora, funziona bene e sono in grado di creare un modello con una classe di visualizzazione.Plone 4: passaggio degli argomenti per visualizzare la classe (BrowserView)
cosa ho bisogno di sapere è se è possibile passare argomenti ai metodi all'interno della cioè vista della classe
from Products.Five import BrowserView
class Html(BrowserView):
def still_dreaming(self):
msg = "Some people are still dreaming"
return msg
ho bisogno di aggiungere un argomento in più per la funzione e processo è still_dreaming all'interno della funzione come questa :
def still_dreaming(self, some_arg):
msg = some_arg + " Some people are still dreaming"
return msg
Quindi ho bisogno di chiamare la funzione e passare un argomento ad esso dal mio modello. Qualcosa del genere:
<p tal:content="view/still_dreaming(item/publication_date)"></p>
Sfortunatamente, non conosco il modo corretto di passare argomenti al metodo. Qualsiasi suggerimento sarà molto apprezzato.
MODIFICA: item/publication_date
è solo una variabile e potrebbe essere qualsiasi cosa. È stato appena definito in precedenza.
Ottenuto lo stesso. Ma ho letto da qualche parte su Internet che fare "python:" nelle viste è sbagliato ... Quindi, a volte, sono un po 'confuso. – Jihaisse
python: è un errore nel senso che in passato non ci sono classi di visualizzazione e tutto il codice è stato inserito nei template, creando un pasticcio di HTML e un pitone di linea –
Ora puoi mettere complessi loop Python e funzioni in real .py file e Visualizza classe –