我的目标是创建一个Blogger小部件,将以下JS添加到每个帖子页面(只是博客帖子,而不是页面):
<script type='text/javascript'>
post_info = {
title: 'My Blog Post',
labels: 'this, that',
pub: '2011-07-05 18:15:52',
url: 'http://foo.blogger.com/2011/07/my-blog-post.html'
};
</script>
我以为我可以用以下代码做到这一点:
<b:includable id='post' var='post'>
<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
post_info = {
<b:if cond='data:post.title'>
title: "<data:post.title/>",
</b:if>
<b:if cond='data:post.postLabelsLabel'>
labels: "<data:post.postLabelsLabel/>",
</b:if>
<b:if cond='data:post.timestampLabel'>
pub: "<data:post.timestampLabel/>",
</b:if>
<b:if cond='data:post.url'>
url: "<data:post.url/>"
</b:if>
};
</script>
</b:if>
</b:includable>
我不仅不确定在哪里放置代码(因为我在不将内容放入序言中遇到了一些奇怪的错误),而且当我没有得到这些错误时,我也不会在“ blog”字典中得到类似的信息错误。
我找不到涵盖添加此类内容的文档,或者是否需要使用expr或宏,或者该内容需要在页面上的位置(什么容器等)。任何帮助,将不胜感激。谢谢。
最佳答案
您正在使用帖子的一些不存在的属性:Here is a full list of available properties
这是JavaScript的样子:
<b:loop values='data:posts' var='post'>
<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
post_info = {
title: "<data:post.title/>",
labels: [
<b:loop values='data:post.labels' var='label'>
"<data:label.name/>"
<b:if cond='data:label.isLast != "true"'>,</b:if>
</b:loop>
],
pub: "<data:post.timestamp/>",
url: "<data:post.url/>"
};
</script>
</b:if>
</b:loop>
最简单的方法是将上述代码放在
id='main'
的b:includable中,而将type='Blog'
放在b:widget中。我曾经用来学习有关博客模板的一些第三方教程:
http://templateofdoom.synthful.org/Home
http://thoughtsomething.blogspot.com/2009/01/understanding-blogger-template-1.html
关于blogger - 如何使用Blogger语法将帖子信息添加到脚本标签?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6627336/