Hi,
I am using the plugin_wiki (which is fantastic by the way) and the
Rambling plugin_layout.
I am trying to make it a bit more blog like by listing recent posts.
I have created a file recentPosts.html which is:
<ul>
{{for recent in recents:}}
<li>
<a href=/bs/plugin_wiki/page/{{recent.slug}}> {{=recent.slug}}
</a>
</li>
{{pass}}
</ul>
and in the default.py controller defined:
def recentPosts():
return dict(recents=db().select(db.plugin_wiki_page.slug,
db.plugin_wiki_page.created_on ))
this works fine when I load the page /myApp/default/recentPosts
However:
I want to show the recent posts in the sidebar.
So I have put {{include 'recentPosts.html'}} in layout.html
and written the index.html as:
{{left_sidebar_enabled=right_sidebar_enabled=False}}
{{extend 'layout.html'}}
{{=plugin_wiki.embed_page('home') or ''}}
When I run this I get an error:
Traceback (most recent call last):
File "/home/www-data/web2py/gluon/restricted.py", line 188, in
restricted
exec ccode in environment
File "/home/www-data/web2py/applications/myApp/views/default/
index.html", line 53, in <module>
NameError: name 'recents' is not defined
OK, so I add to index() in default.py
return dict(message=T('Hello World'),
recents=db().select(db.plugin_wiki_page.slug,
db.plugin_wiki_page.created_on ))
And this works fine until I try to select another wiki page.
Where I get the error:
Traceback (most recent call last):
File "/home/www-data/web2py/gluon/restricted.py", line 188, in
restricted
exec ccode in environment
File "/home/www-data/web2py/applications/myApp/views/plugin_wiki/
page.html", line 79, in <module>
NameError: name 'recents' is not defined
So the problem seems to be that the recents definition does not seem
to be cascading down from the layout.html.
I have tried to define it under plugin_wiki.py, but no luck.
I hope I have defined the problem as clearly as possible.
Any help, much appreciated.