【问题标题】:Sort allContentAsset by tag in Gatsby is it possible?可以在 Gatsby 中按标签对 allContentAsset 进行排序吗?
【发布时间】:2022-01-25 16:55:42
【问题描述】:

我尝试了几天按标签对资产媒体进行排序,而不是在 Contentful 中添加到每个资产上,但每次尝试都失败了... 请参阅我之前的问题sort content by tag in Gatsby with Conteful API

所以我回到最简单的配置,只需对原始资产进行排序! 写sortfilter来只捕获带有标签artWork的媒体有什么好句子?

因为我试图理解 gatsby 的例子......这并不容易 https://www.gatsbyjs.com/plugins/gatsby-source-contentful/#contentful-tags

{
  allContentfulAsset() {
    edges {
      node {
        title
      }
    }
  }
}

【问题讨论】:

    标签: graphql gatsby contentful


    【解决方案1】:

    可以在 Gatsby 中按标签对 allContentAsset 进行排序吗?

    当然。您只需在 Gatsby 的实现中应用多个 GraphQL 过滤器之一。例如:

    {
      allContentfulAsset(
        filter: {
         metadata: { tags: { in: ["art work", "vies paralleles"] } }
        }
      ) {
        edges {
          node {
            title
          }
        }
      }
    }
    

    之前的 sn-p 将得到allContentfulAsset,其中tags 包含"art work" 和“vies paralleles"。假设存在assetstags 之间的插值(即:tags 是一个可选字段在assets)。如果此插值不存在或未正确完成,allContentfulAsset 将永远不会过滤tags,因此您的查询将中断。

    请记住,要使用标签,您需要将enableTags 标志设置为true(默认设置为false):

    {
      resolve: `gatsby-source-contentful`,
      options: {
        spaceId: process.env.CONTENTFUL_SPACE_ID,
        accessToken: process.env.CONTENTFUL_ACCESS_TOKEN,
        enableTags: true,
      },
    },
    

    根据pull-requestenableTags 功能已在前沿版本(5 天前)中修复,因此请尝试升级您的插件依赖项。

    应该是固定在(推断在这个GitHub thread):

    gatsby-source-contentful@7.5.0-next.0
    

    请提供对以前问题/答案的反馈,而不是不断打开新问题。甚至删除以前的内容或提供有关您尝试过的内容的反馈...

    【讨论】:

    • 嗯,http://localhost:8000/___graphql 给出错误消息"Field \"tags\" is not defined by type \"ContentfulAssetFilterInput\"." 可能就像您在其他评论中所说的那样,您要求我的 Gatsby 版本或插件不好 "gatsby": "^3.14.2""gatsby-source-contentful": "^5.14.0"跨度>
    • 确实,根据github.com/gatsbyjs/gatsby/pull/34480 看来metadata {tags} 是最前沿的版本
    • 好的,我已经解决了这个问题 :) 你认为我需要将 Gatsby 3 更新到 Gatsby 4 还是只更新插件内容?
    • 我猜 Gatsby 可以保持在 V3,除非我在更改日志中没有发现任何不兼容
    • 应该固定在:gatsby-source-contentful@7.5.0-next.0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 2010-09-18
    • 2014-12-06
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    相关资源
    最近更新 更多