访问 LocomotiveCMS 中的单个内容条目

Access single content entry in LocomotiveCMS

我想在页面上显示单个内容条目(来自一种内容类型)并且我想直接使用 link 访问此页面。

到目前为止,我已经创建了内容类型 "posts"(使用 wagon generate ...)。它包含字段 "title"、"date" 和 "body"。在页面 "posts" 上,列出了 post 的所有标题,当您单击其中一个标题时,您应该会被重定向到包含其余内容的子页面 "post" (取决于您选择的post)。

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。

post.liquid:

{% extends parent %}
     {% block main %}

       <h2>{{post.title}}</h2>
       <h3>{{post.date}}</h3>
       <p>{{post.body}}</p>

      {% endblock %}

这应该是单个页面上其余内容的模板。

我怎样才能 link 列表元素到正确的 post? 我正在使用 wagon 在本地开发网站。

我找到了解决问题的方法。

要仅访问内容类型帖子中的一个特定条目,您需要创建一个模板来保存具有正确布局的内容。

这意味着您需要一个名为 "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",您需要将上面名为 "post" 的所有内容重命名为 "product"。

你终于可以找到一个条目了。

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