I have defined a __before_publishing__traverse__() method in my Zope product.

Its job is to redirect the URL displayed in the browser to a nice looking
URL, something like


instead of


That way all my ZPT forms can call the same method: execute(),
and I don't hardcode any URLs in my ZPTs.  The objective is to
encapsulate my resource-to-URL mapping so that it can be changed
independently from the ZPT code.

I don't want to use setVirtualRoot, because I want to change the entire
URL, not just "all but the leaf"

The problem is that __before_publishing_traverse__ is getting called *twice*
for each button press.

*First* it gets called with the "../myapp/execute" URL.  This is when I
call RESPONSE.redirect()

*Second* it gets called with the "../myapp/invoices/123" URL

I am trying to understand how Zope works with the HTTP REDIRECT machinery.

Is there a way to make the URL that is actually displayed in the browser
*different* from the Zope method name you are calling, aside from using

Thanks in advance,

--Craeg Strong
Ariel Partners LLC

Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to