Updates from August, 2009 Hide threads | Keyboard Shortcuts

  • Andy 20:41 on 2009/08/12 Permalink
    Tags:

    Das brauche ich bestimmt nochmal: Einen View machen, der etwas anderes heraussucht, in diesem Fall eine Ressource. Der erste Versuch war, in der Methode einfach die Ressource rauszusuchen und dann zurückzuliefern – das klappt nicht, weil der ZPublisher versucht, weiterzutraversieren. Daher hier die Methode, den “TraversalRequestNameStack” vor der Rückgabe zu löschen.

    class ResourceView(Explicit):
        """
        Simple view redirecting to Resources. Ok, not as simple as thought, but works.
        """
    
        def __before_publishing_traverse__( self, obj, request=None ):
            if self.request['TraversalRequestNameStack']:
                self.request.form['resource'] = self.request['TraversalRequestNameStack']
                self.request['TraversalRequestNameStack'] = []
            else:
                pass
    
        def nozope(self):
            self.request.form['resource'].reverse()
            resourcepath = '/'.join(['++resource++nozope']+self.request.form['resource'])
            obj = self.context.unrestrictedTraverse(resourcepath).__of__(self)
            method = obj.__browser_default__(self.request)[1][0]
            return getattr(obj, method)()
    
     
  • Andy 20:38 on 2009/08/12 Permalink
    Tags:

    Ok, ich werde der Spezialist in Sachen “Verbindung von altem und neuem Zope”. Einen neuen View in altem DTML aufrufen:

    <dtml-var expr="restrictedTraverse('@@admin_bereich')()">
    

    Fast einfach.

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
esc
cancel