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

发布于 2024-11-19 01:05:01 字数 1395 浏览 1 评论 0原文

我的目标是创建一个博客小部件,将以下 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>

我不仅不确定该放在哪里代码(因为我遇到了一些关于不将内容放入序言中的奇怪错误),但是当我没有收到这些错误时,我没有收到诸如 post in 'blog' 字典错误之类的东西。

我无法找到包含添加此类内容的文档,或者我是否需要使用 expr 或宏,或者需要将其放在页面上的位置(什么容器等)。任何帮助将不胜感激。谢谢。

My goal is to create a blogger widget that adds the following JS to every post page (just blog posts, not pages):

  <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>

I was thinking I would be able to do that with the following code:

<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>

Not only am I not sure where to put the code (cause I have gotten some weird errors about not placing things in a prolog), but when I don't get those errors, I get no such thing as post in 'blog' dictionary errors.

I haven't been able to find the documentation that covers adding things like this or whether or not I need to be using expr or macros or where this would need to go on the page (what container etc). Any help would be appreciated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

残月升风 2024-11-26 01:05:01

您使用的帖子的一些不存在的属性:这里是可用属性的完整列表

这就是 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:includableid='main' 位于 b:widget 中,带有 type='Blog'

我用来学习有关博客模板的一些第三方教程:

You are using some inexistent properties of posts: Here is a full list of available properties

And this is how JavaScript should look like:

<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>

The easiest way is to put the above code in b:includable with id='main' which is in b:widget with type='Blog'.

Some third party tutorials that I used to learn something about blogger templates:

你不是我要的菜∠ 2024-11-26 01:05:01
    <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>
    <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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文