Gary Poster wrote:
> On Feb 26, 2006, at 4:17 PM, jürgen Kartnaller wrote:
>> Joel Moxley wrote:
>>>>> ** What is the best way to use a formlib EditForm to redirect a user
>>>>> after applying changes without fully cloning a "handle_edit_action"
>>>>> method? **
>>>> I'm doing it this way :
>>>>     def render(self):
>>>>         if self.errors is None or self.errors:
>>>>             return super(EditPerson, self).render()
>>>>         self.request.response.redirect('..')
>>>> Jürgen
>>> Thanks Jürgen!  That works perfectly for me.
>>> Looking one step forward, I would like to redirect the user back to
>>> the previous page from whence they came (without using sessions).  I
>>> figure I am going to need to stash that value on my EditForm class and
>>> then pull it up during the redirect in my render method.  I've done my
>>> best to explore this, but I can't figure out where the previous page
>>> information will be available on my EditForm.
>>> ** Where should I stash previous page information for future redirects
>>> on my EditForm? **
>> That's also an unsolved use case I have.
>> The 'default' template of 'FormBase' contains the slot 'extra_info'
>> which could be filled with some hidden input fields.
>> I defined a new template for my own EditForm.
>> But now I would like to use the existing template in formlib
>> '' and fill the slot but don't know how.
>> Is this a possible way and the right way ?
>> How can I use the existing template ?
>>   It must be useable with metal:use-macro somehow.
> Yes, we write custom templates that use hidden input fields.  We reuse
> the existing template by putting the default template on another
> attribute of the view class, and then saying 'metal:use-macro="view/...'
> For instance
> class MyForm(zope.formlib.form.EditForm):
>     base_template = zope.formlib.form.EditForm.template
>     template = (...a named template if you want, or just a page template
> directly...)
> Then in your template, you can refer to macros in the original like this:
>     'metal:use-macro="view/base_template/macros/extra_info"'

Thanks a lot for this.

The above metal statement doesn't work, I do it this way :
and then



Jürgen Kartnaller

Zope3-users mailing list

Reply via email to