[Plone-IT] Registrare una viewlet solo una z3c.form

SauZheR sauzher a gmail.com
Mar 26 Maggio 2015 09:59:06 UTC


Grazie ad entrambi per le risposte.
x Alessandro, ho proprio bisogno di un viewlet, non di ridefinire il
template, e di viewlet manager mi dovrebbero bastare quelli esistenti. La
logica in cui mi muovo di solito e' di sfruttare il piu' possibile gli
automatismi dei vari framework... se mi devo fare sempre i template a mano
torno a CMFFormController (che mi ha dato tante soddisfazioni) :P

X Giorgio
Avevo fatto a meno del metodo wrap_form, poiche' il form veniva comunque
renderizzato plonestyle... e non ne ho sentito il bisogno. Tuttavia anche
implementando una classe wrapper e passandola esplicitamente al wrap e
quindi registrare la viewlet per questa classe... non e' servito.
La viewlet non viene calcolata tra le papabili per il contesto. Grazie del
tentativo.

Per il momento torno al workaround che avevo trovato... se qualcuno si
dovesse imbattere in un esempio di viewlet specifica per una form sono
tutto orecchie ;)

a presto,
alessandro.



Il giorno 25 maggio 2015 22:15, Giorgio Borelli <giorgio.borelli a abstract.it
> ha scritto:

> ciao,
>
> Il giorno 25 maggio 2015 14:53, SauZheR <sauzher a gmail.com> ha scritto:
>
>> Salve a tutti,
>> volevo visualizzare una viewlet prima di z3c.form per dare informazioni
>> di contesto durante la compilazione del form.
>>
>> Inizialmente mi sembrava un compito piuttosto semplice.
>>  - ho la mia z3c.form che implementa mio.prodotto.IMiaForm
>>  - ho la mia viewlet perfettamente funzionante
>>
>> ...
>>
>>
>> E immaginavo che quel  for="mio.prodotto.IMiaForm" si occupasse di tutto.
>> Invece non c'e' stato verso.
>> ...
>> La domanda e': l'idea iniziale che avevo e' sbagliata?
>>
>
> l'dea iniziale non  sbagliata ma penso che il problema sia che
> l'interfaccia da mettere dentro al parametro "for" della viewlet dovrebbe
> essere quella implementata dal FormWrapper della form... un esempio che
> dovrebbe funzionare  il seguente:
>
> @zope.interface.implementer(IMyformView)
> class MyFormWrapper(plone.app.z3cform.layout.FormWrapper):
>     pass
>
> class MyForm(z3c.form.form.Form):
>     fields = z3c.form.field.Fields(MySchema)(IMyForm)
>
> MyForm = plone.app.z3cform.layout.wrap_form(MyForm,
> __wrapper_class=MyFormWrapper)
>
> e dato tutto ci la tua viewlet dovrebbe diventare:
>
>  <browser:viewlet
>      ...
>      for="......IMyformView" />
>
>
> fammi sapere se funziona
>
> --
> Giorgio Borelli
> Project Manager
>
> >_
> abstract.it - +39 06 92946938
>
> ...............................................................................
> Registro Imprese di Napoli 788429 / Cap. Soc. 10.000 Euro I.V.
> Avvertenze Legali - D. Lgs. 196/03 Tutela dei dati personali. Le
> informazioni
> contenute in questo messaggio e in ogni eventuale allegato sono riservate
> e
> ne  vietata ogni forma di diffusione. Se avete ricevuto questa
> comunicazione
> per errore, Vi preghiamo di informare immediatamente il mittente del
> messaggio
> e di eliminare l'e-mail.
>
> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> https://lists.plone.org/mailman/listinfo/plone-plone-it
> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
>



-- 
  bye
SauZheR
************************************
l'iterazione  umana...
la ricorsione, Divina!
************************************
reply to: sauzher AT gmail DOT com
-------------- parte successiva --------------
Un allegato HTML  stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20150526/bcf4e625/attachment-0001.html>


Maggiori informazioni sulla lista Plone-IT