[Zope] Passing an instance in a form to a product method
u.theiss at eurodata.de
Fri Apr 4 03:50:04 EDT 2008
first, many thanks for the very fast and polite answer. I already know
the Zope-Book for many years, but I did not find a solution there, for
my special problem.
Perhaps I have to give a little bit more context to you. I tried to make
the code-excerpt short - perhaps too short.
The object doc has nothing to do directly with uploading the file. In
this object is some further information. And to do things in a handy
way, I need that further information (doc) in the method, called after
submitting the form (addUploadFile).
Is there a solution for that available?
Again, many thanks in advance,
Andreas Jung wrote:
> --On 4. April 2008 09:05:59 +0200 Ulla Theiss <u.theiss at eurodata.de>
>> Hello List,
>> I have to pass an instance of a self-defined class within a form to a
>> product method.
>> I try it in the following way:
>> <form action="addUploadFile" enctype="multipart/form-data" target="main"
>> <input name="doc:instance" value="<dtml-var doc>" type="hidden">
> Please don't invent new syntax or new APIs...or don't expect that stuff
> like this would work because you dream of it :-)
> And of course you can not *pass* instances in some way through HTTP.
> This makes totally no sense.
> No idea what your intention is with your code. If you specify
> 'addUploadFile' then this method will be called within the context
> of your current object. If you need to call the method within the context
> of an other object, specify the URL of the related object within
> If you need reference another object as part of your form-data: specifiy
> its *path* but passing the object directly to value=".." really makes
> no sense. Obtain an object-by-path within your code using the
> restrictedTraverse() API. But for uploading data to your current
> context object you don't have to define something like "doc"... please
> to the "Zope Book 2.7 edition" - appearently you have a basic
> misunderstanding how Zope works here.
Tel.: +49 (681) 8808-0
Fax.: +49 (681) 8808-300
E-Mail.: u.theiss at eurodata.de
EURO DATA GmbH & Co. KG
HR A 6448 Amtsgericht Saarbrücken
Komplementär: A. Reiß & Sohn GmbH
HR B 4965 Amtsgericht Saarbrücken
Geschäftsführer: Dipl.-Kfm. Karl-Heinz Siebenpfeiffer
More information about the Zope