[Moin-user] Including page changes attachment path resolution

Nikolaus Rath Nikolaus at rath.org
Thu Dec 8 11:23:00 EST 2011


Hi,

Really no one any idea? (Fullquote below in case the message got lost).

Best,
Nikolaus


Nikolaus Rath <Nikolaus at rath.org> writes:
> Hello,
>
> I would like to include a static menu bar in every rendered page. The
> menu bar itself should be editable as a page.
>
> I came up with the following code to include another page:
>
>     def includepage(self, page_name):
>         request = self.request
>         inc_page = Page(request, page_name, formatter=request.formatter)
>         if not inc_page.exists():
>             return '<p><strong class="error">Page %s does not exist</strong></p>' % page_name
>
>         strfile = StringIO.StringIO()
>         request.redirect(strfile)
>         try:
>             inc_page.send_page(content_only=True,
>                                omit_footnotes=True,
>                                count_hit=False)
>             return strfile.getvalue()
>         finally:
>             request.redirect()
>
> I then changed my theme's .py file to include the page "navibar":
>
>     def navibarpanel(self, d):
>         html = [
>             u'<div class="sidepanel"><h1>Quick Links</h1>',
>             self.navibar(d),
>             u'</div>',
>             
>             u'<div class="sidepanel"><h1>Navigation</h1>',
>             self.includepage('navibar'),
>             u'</div>',
>             ]
>         return u''.join(html) 
>
>         
> This works nicely, but there is one problem: if, in any page, I refer to
> an attachment as [[attachment:bla.zip]], then MoinMoin looks for bla.zip
> in the "navibar" page rather than the page I'm actually viewing.
>
>
> Is there a way to fix this problem? Or is my entire approach wrong?


   -Nikolaus

-- 
 »Time flies like an arrow, fruit flies like a Banana.«

  PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6  02CF A9AD B7F8 AE4E 425C




More information about the Moin-user mailing list