0

我觉得我在这里服用疯狂的药丸!我在网上找遍了,找不到解决办法……

问题:

我正在使用内容和中间人内容来创建博客。我对显示和排序感兴趣的内容类型称为“post”。到目前为止,我已经设法使用以下配置将我的所有帖子拉到 /data/blog/posts 中:

activate :contentful do |f|
    f.space = { blog: 'xxxxxxxx' }
    f.access_token = 'xxxxxxxxxxxxxxxxx'
    f.content_types = { posts: 'xxxxxxxx'}
end

注意:我故意省略了 ID 和令牌

问题是当我尝试使用以下命令在我的 .erb 文件中输出这些帖子时:

<% data.blog.posts.each do |id, post| %>
<h1><%= post.title %></h1>
<% end %>

这会产生一个帖子磁贴列表(如预期的那样),但输出似乎没有顺序。我希望输出默认按创建日期排序。一个人怎么能去添加这个订单或任何其他订单呢?

PS,其中一个问题似乎是 data.blog.posts 是一个以帖子 ID 作为键的对象。这似乎有问题。谢谢你的帮助!我刚开始接触中间商,请原谅我的无知!

4

2 回答 2

0

默认情况下,Contentful 不为您的条目提供任何特定的顺序。

cda_query您可以在配置参数中指定顺序。contentful_middleman您可以在文档的这一部分找到更多信息: https ://github.com/contentful/contentful_middleman#configuration

因此,您的配置块应如下所示:

activate :contentful do |f|
  f.space = { blog: 'xxxxxxxx' }
  f.access_token = 'xxxxxxxxxxxxxxxxx'
  f.content_types = { posts: 'xxxxxxxx'}
  f.cda_query = { order: 'sys.createdAt' }
end

有关所有订购可能性的更多信息,您可以查看 Contentful Delivery API 文档:https ://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters /命令

希望你觉得这个有用

于 2016-01-06T22:40:01.680 回答
-1

这个问题基本上已经在这里回答了。https://github.com/contentful/contentful_middleman/issues/68#issuecomment-170520254

于 2016-01-11T23:10:06.873 回答