如何在注销后将Plone设置为重定向到came_from

Ghi*_*taB 3 python plone plone-4.x

我想设置一个plone网站,在用户注销后重定向到url中的came_from参数.登录我设置string:${globals_view/navigationRootUrl}/login?came_from=${context/absolute_url},它正在工作.

对于注销,这不起作用.我也试过它的事件:

  <subscriber
    for="Products.PlonePAS.events.UserLoggedOutEvent"
    handler="blabla.goCameFromAfterLogout"
    />
Run Code Online (Sandbox Code Playgroud)

使用:

def goCameFromAfterLogout(event):
    """ Redirects user to came_from url parameter after logout
    """
    import pdb; pdb.set_trace( )
    request = event.object.REQUEST
    came_from = request.form.get('came_from', None)
    if came_from:
        response = request.RESPONSE
        response.redirect(came_from)
Run Code Online (Sandbox Code Playgroud)

事件没问题,came_from参数没问题,但代码不能正常工作.该网站/logged_out每次都会重定向到我.

那么,我该怎么设置呢?

keu*_*eul 6

一种简单的方法:自定义logged_out,将其转换为Python脚本,重定向到您想要的任何页面:

context.REQUEST.RESPONSE.redirect(url)
Run Code Online (Sandbox Code Playgroud)