我的目标是创建一个博客小部件,将以下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>
我不仅不确定在何处放置代码(因为我已经得到了一些关于不在prolog中放置内容的奇怪错误),但是当我没有得到这些错误时,我得到的不是post in'博客'字典错误。
我无法找到包含这样的内容的文档,或者我是否需要使用expr或宏,或者需要在页面上使用哪个(容器等)。任何帮助,将不胜感激。感谢。
答案 0 :(得分:1)
您正在使用帖子的一些不存在的属性: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>
最简单的方法是将上述代码放在 b:includable 中,id='main'
位于 b:小部件中,位于type='Blog'
。< / p>
我曾经学过一些关于博客模板的第三方教程:
答案 1 :(得分:0)
<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>