4

我一直在试图弄清楚一些人如何制作一个仅使用模板代码就可以正常工作的自定义主页。这是我尝试过的:

<b:if cond='data:blog.url == data:blog.homepageUrl'>
// code
<b:else/>
// code
</b:if>

这很好用,但您不能在 Blogger 的“管理 > 布局”区域编辑/添加小部件。它只会显示<b:if cond='data:blog.url == data:blog.homepageUrl'><b:else/>标签内的小部件部分。

我可以使用 CSS &display:none来实现相同的效果,并且可以通过管理区域对其进行编辑,但是当查看网站的任何部分时,它将加载不会被看到的不必要的内容,从而增加加载时间。

我什至试过:

<b:if cond='data:blog.url == data:blog.homepageUrl'>

对于主页,以及我使用的所有其他人:

<b:if cond='data:blog.url != data:blog.homepageUrl'>

这有助于减少要加载的不可见内容的数量,但会破坏帖子的“预览”。它只会显示预览的主页信息,而不是需要预览的实际帖子。

我怎样才能正确地做到这一点?我知道它可以做到,因为我已经看到它做到了。有出售的 Blogger 主题可以做到这一点。对于我的生活,我无法弄清楚这一点......

4

3 回答 3

0

对于小部件

在您的模板代码中包含所有小部件。这将导致“布局”部分包含所有小部件.....现在我们将使用条件标签来决定我们是否只想在主页、帖子页面或任何特定 url 上使用它们/tag 页面等 教程在这里

对于其他一切

将代码<data:post.body/>放入模板将返回实际帖子内容。

所以这段代码

<b:if cond='data:blog.pageType == "item"'>
<data:post.body/>
</b:if>

只会在帖子页面上而不是在主页上带来帖子内容

于 2013-10-14T18:31:07.377 回答
0

我可能得到了你的问题。

<b:if cond='data:blog.pageType == "item"'> <data:post.body/> </b:if>

您甚至不需要在主页上发表一篇文章,而是希望将它们全部放在名为 blog 的标签上。 在这里 希望你能在这里找到你需要的所有东西。

我尝试了另一件事来做到这一点。

转到 Blogger >> 仪表板设置 >> 帖子和评论并设置 0 个帖子显示在主页上。现在隐藏 No post text with encoding 如上面的答案所述。通过将所有帖子放在该标签中,将这些帖子显示在 blog.blogspot.com/search/label/blog 这样的标签页面上。

我敢肯定这行得通。

于 2015-05-06T05:47:46.040 回答
0

这似乎是解决方案,因为我还没有发现任何故障。

要显示在除主页之外的所有位置:

<b:if cond='data:blog.url != data:blog.homepageUrl || data:view.isLayoutMode || data:view.isPreview'>
    your code here
</b:if>

这非常适合在除主页之外的所有地方加载带有小工具的部分。虽然很遗憾,但我花了 6 年时间才弄清楚。

编辑:从条件中可以看出,它不会显示在主页(索引)、管理布局模式或发布预览中。

于 2019-09-28T15:04:51.457 回答