我正在阅读博客帮助文章(Layout data tags),并发现<data.posts/>
会有所有帖子。
但是从模板中没有显示任何内容,也是错误TEMPLATE ERROR: No dictionary named: '' in: ['blog', 'skin', 'view']
所以这是我的问题,如何从模板中运行所有最近帖子的循环?
这就是我所做的:
<b:loop var='thisPost' values='data:posts'>
<h2>
%3Ca%20href%3D%22<data:thisPost.url/>%22%3E<data:thisPost.title/>%3C%2Fa%3E
</h2>
</b:loop>
它不起作用!任何想法?
更新
在小部件中循环不起作用!这是我的代码:
<b:section class='main' id='main' name='Main' showaddelement='yes'>
<b:widget id='Blog1' locked='false' title='Blog Posts' type='Blog'>
<b:includable id='allposts' var='i'>
<b:loop var='thisPost' values='data:posts'>
<h2>
<a expr:href='data:thisPost.url'><data:thisPost.title/></a>
</h2>
</b:loop>
</b:includable>
</b:widget>
</b:section>
答案 0 :(得分:3)
你在哪里放置了这个代码/循环?
除非在section: main
和widget: Blog1
<b:section class='main' id='main' name='Main' showaddelement='yes'>
<b:widget id='Blog1' locked='false' title='Blog Posts' type='Blog'>
<b:includable id='...' var='...'>
// it will only work inside here
</b:includable>
</b:widget>
</b:section>
<强>更新强>
Blogger会在任何小部件中输出<b:includable id='main'>
内的内容。您可以在<b:includable id='...'>
旁边添加<b:includable id='main'>
个<b:includable id='main'>
。如果您不使用<b:include name="...">
直接或间接将它们链接到include
,则它们不会执行。 includable
内的名称等于<b:section class='main' id='main' name='Main' showaddelement='yes'>
<b:widget id='Blog1' locked='false' title='Blog Posts' type='Blog'>
<b:includable id='main' var='top'>
<b:include name='allposts'/>
</b:includable>
<b:includable id='allposts'> <!-- you can remove var="i" -->
<b:loop var='thisPost' values='data:posts'>
<h2>
<a expr:href='data:thisPost.url'><data:thisPost.title/></a>
</h2>
</b:loop>
</b:includable>
</b:widget>
</b:section>
内的 id 。
EOFError