[Moin-user] Including page changes attachment path resolution
Nikolaus Rath
Nikolaus at rath.org
Fri Dec 9 09:33:36 EST 2011
"R.Bauer" <rb.proj at gmail.com> writes:
> Am 08.12.2011 17:23, schrieb Nikolaus Rath:
>>> 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()
>>>
>>> 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.
>
> some ideas:
> * you may be want to use formatter.page.page_name
>
> * there are themes on the ThemeMarket with an editable Sidebar based
> on a wiki page, see http://moinmo.in/ThemeMarket/Mandarin
>
> * wikiutil.renderText is also your friend.
Thanks! I worked backwards from the Mandarin theme and found that the
following works:
inc_page = Page(request, page_name)
while this messes up the references:
inc_page = Page(request, page_name, formatter=request.formatter
Can anyone explain to me why the second form is wrong?
Best,
-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