我想在页面上显示单个内容条目(来自一种内容类型),我想直接使用链接访问此页面。
到目前为止,我已经创建了内容类型“posts”(使用wagon生成...)。它包含字段“标题”,“日期”和“正文”。在“帖子”页面上,列出了所有帖子的标题,当您点击其中一个标题时,您应该被重定向到包含其余内容的子页面“帖子”(取决于您选择的帖子)。
posts.liquid:
{% extends parent %}
{% block main %}
{% for post in contents.posts%}
<a href="/{{ post._slug }}"><li>{{ post.date }} - {{ post.titel }} </li></a>
{% endfor %}
{% endblock %}
列出所有帖子。
post.liquid:
{% extends parent %}
{% block main %}
<h2>{{post.title}}</h2>
<h3>{{post.date}}</h3>
<p>{{post.body}}</p>
{% endblock %}
这应该是单个页面上其他内容的模板。
如何将列表元素链接到正确的帖子? 我正在使用旅行车开发本地网站。
答案 0 :(得分:0)
我找到了解决问题的方法。
要仅访问内容类型帖子中的一个特定条目,您需要创建一个模板,用于保存具有正确布局的内容。
这意味着你需要一个名为“content-type-template.liquid”的文件,这个文件必须放在一个文件夹中(在我的例子中命名为“post”)来定义父文件:
/posts.liquid # Holds a list of all Posts
/post/content-type-template.liquid # Holds the layout for only one post
同样在content-type-template.liquid的顶部,你需要定义内容类型和slug:
---
title: Post Template
content_type: post
slug: content_type_template
---
现在可以使用以下语法访问内容类型的字段:
{% extends parent %}
{% block main %}
<h2>{{post.title}}</h2>
<h3>{{post.date}}</h3>
<p>{{post.body}}</p>
{% endblock %}
如果内容类型例如名为“product”,则需要使用“product”重命名上面名为“post”的所有内容。
最后,您可以使用它的slug来获得单个条目。
{% extends parent %}
{% block main %}
{% for post in contents.posts%}
<a href="/post/{{ post._slug }}"><li>{{ post.date }} - {{ post.titel }} </li></a>
{% endfor %}
{% endblock %}
以下是一些帮助我的链接:
http://www.tommyblue.it/2011/02/28/how-to-build-a-website-with-locomotive-cms-from-scratch/
http://doc.locomotivecms.com/references/api/objects/content-entry