[Plone-conosur] Escribiendo en la base de datos

Marcos Romero marcos.romero en inter-cultura.com
Vie Mar 11 12:09:54 UTC 2011


Hola

Seguramente puedas encontrar información en:
http://kayeva.wordpress.com/2008/07/16/using-z3cform-for-our-forms-in-plone/
http://plone.org/documentation/manual/plone-community-developer-documentation/forms/z3c.form

Me da la impresión de que estás metiéndote muy a bajo nivel, manejando
las transacciones, pero de eso se puede encargar Plone, tal como lo
ves en los documentos de arriba.

Apenas pude leer el primero de los links, pero creo que es para crear
tipos de contenido con z3c.form.

Ojo, si vas a hacer tipos de contenido con z3c.form, considerá que sus
objetos no son traducibles (LinguaPlone sólo funciona con Archetypes).

Además, en el libro Plone 3 Products Development Cookbook
(http://www.amazon.com/Plone-3-3-Products-Development-Cookbook/dp/1847196721),
capítulo 6, se explica cómo crear tipos de contenido con zope.formlib
y z3c.form. El código de ese capítulo está en:
https://bitbucket.org/jpg/plone-cookbook/src/c8d0b38b483b/chapter06/pox.buildout/src/pox.banner/pox/banner/

Ojalá todo esto te sirva.

Saludos

2011/3/11 Edgar Ulises Aviles Mejia <eavilesmejia en gmail.com>:
> hola a todos tengo un formulario con z3c.form y quiero que los datos de ese
> formulario se escriban a la base de datos
> de zope, he buscado por muchas partes y todos me dan la misma solucion, asi
> que el codigo
> de conexion que tengo es este:
>
> def db(name):
>     storage = FileStorage('var/filestorage/Data.fs')
>     db = DB(storage)
>     connection=db.open()
>     root = connection.root()
>
>     if not root.has_key(name):
>         root['nombres']={}
>         nombres = root['nombres']
>         nombres[name]=persistencia(name)
>     root[name] = nombres
>     transaction.commit()
>     print 'Nombres agregado: %s' % name
>
> aca solo estoy intentando escribir el dato obtenido por el campo name del
> form, me manda el siguiente error:
>
> Module ZPublisher.Publish, line 127, in publish
> Module ZPublisher.mapply, line 77, in mapply
> Module ZPublisher.Publish, line 47, in call_object
> Module plone.z3cform.layout, line 64, in __call__
> Module plone.z3cform.layout, line 54, in update
> Module z3c.form.form, line 210, in update
> Module z3c.form.action, line 99, in execute
> Module z3c.form.button, line 311, in __call__
> Module z3c.form.button, line 170, in __call__
> Module deu.contentypes.browser.formActualiza, line 78, in handleApply
> Module deu.contentypes.browser.formActualiza, line 20, in db
> Module ZODB.FileStorage.FileStorage, line 125, in __init__
> Module zc.lockfile, line 76, in __init__
> Module zc.lockfile, line 59, in _lock_file
>
> LockError: Couldn't lock 'var/filestorage/Data.fs.lock'
>
> estoy usando plone 4.0.2 y estoy tratando de evitar usar arquetipo.
>
> alguien me puede ayudar!!!
> gracias
>
>
> _______________________________________________
> Plone-ConoSur mailing list
> Plone-ConoSur en lists.plone.org
> https://lists.plone.org/mailman/listinfo/plone-conosur
>
>



-- 
Marcos F. Romero
Responsable de Desarrollo
Inter-Cultura

marcos.romero en inter-cultura.com
www.inter-cultura.com
+54 11 4542-8299



Más información sobre la lista de distribución Plone-ConoSur