如何使用Blogger语法将帖子信息添加到脚本标记?

时间:2011-07-08 16:17:05

标签: 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 == &quot;item&quot;'>
  <script type='text/javascript'>
    post_info = {
      <b:if cond='data:post.title'>
        title: &quot;<data:post.title/>&quot;,
      </b:if>
      <b:if cond='data:post.postLabelsLabel'>
        labels: &quot;<data:post.postLabelsLabel/>&quot;,
      </b:if>
      <b:if cond='data:post.timestampLabel'>
        pub: &quot;<data:post.timestampLabel/>&quot;,
      </b:if>
      <b:if cond='data:post.url'>
        url: &quot;<data:post.url/>&quot;
      </b:if>
    };
  </script>
</b:if>
</b:includable>

我不仅不确定在何处放置代码(因为我已经得到了一些关于不在prolog中放置内容的奇怪错误),但是当我没有得到这些错误时,我得到的不是post in'博客'字典错误。

我无法找到包含这样的内容的文档,或者我是否需要使用expr或宏,或者需要在页面上使用哪个(容器等)。任何帮助,将不胜感激。感谢。

2 个答案:

答案 0 :(得分:1)

您正在使用帖子的一些不存在的属性:Here is a full list of available properties

这就是JavaScript应该是这样的:

<b:loop values='data:posts' var='post'>
    <b:if cond='data:blog.pageType == &quot;item&quot;'>
        <script type='text/javascript'>
            post_info = {
                title: &quot;<data:post.title/>&quot;,
                labels: [
                    <b:loop values='data:post.labels' var='label'>
                        &quot;<data:label.name/>&quot;
                        <b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
                    </b:loop>
                ],
                pub: &quot;<data:post.timestamp/>&quot;,
                url: &quot;<data:post.url/>&quot;
            };
        </script>
    </b:if>
</b:loop>

最简单的方法是将上述代码放在 b:includable 中,id='main'位于 b:小部件中,位于type='Blog'。< / p>

我曾经学过一些关于博客模板的第三方教程:

答案 1 :(得分:0)

    <script type='text/javascript'>
        post_info = {
            title: &quot;<data:post.title/>&quot;,
            labels: [
                <b:loop values='data:post.labels' var='label'>
                    &quot;<data:label.name/>&quot;
                    <b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
                </b:loop>
            ],
            pub: &quot;<data:post.timestamp/>&quot;,
            url: &quot;<data:post.url/>&quot;
        };
    </script>