Updates from August, 2009 Toggle Comment 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.

    <br />
    class ResourceView(Explicit):<br />
        &quot;&quot;&quot;<br />
        Simple view redirecting to Resources. Ok, not as simple as thought, but works.<br />
        &quot;&quot;&quot;</p>
    <p>    def __before_publishing_traverse__( self, obj, request=None ):<br />
            if self.request['TraversalRequestNameStack']:<br />
                self.request.form['resource'] = self.request['TraversalRequestNameStack']<br />
                self.request['TraversalRequestNameStack'] = []<br />
            else:<br />
                pass</p>
    <p>    def nozope(self):<br />
            self.request.form['resource'].reverse()<br />
            resourcepath = '/'.join(['++resource++nozope']+self.request.form['resource'])<br />
            obj = self.context.unrestrictedTraverse(resourcepath).__of__(self)<br />
            method = obj.__browser_default__(self.request)[][]<br />
            return getattr(obj, method)()<br />
    

     
  • 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
l
go to login
h
show/hide help
shift + esc
cancel