【问题标题】:Filtering Content in Sanity Studio在 Sanity Studio 中过滤内容
【发布时间】:2021-06-03 01:07:51
【问题描述】:

我想知道是否可以根据设定的标准过滤 Sanity Studio 中的内容。例如,返回所有已发布的帖子或特定类别中的所有帖子等。

这是一个简短的视频,说明我的意思:https://www.loom.com/share/5af3a9dd79f045458de00e8f5365cf00

这可能吗?如果是这样,是否有任何文档说明如何操作?

谢谢。

【问题讨论】:

    标签: sanity


    【解决方案1】:

    我发现制作各种过滤器的最简单方法是使用结构生成器。使用它,您可以添加任意数量的部分,命名它们,并以 groq 和 params 的形式为其提供您自己的过滤器。

    Se 文档:https://www.sanity.io/docs/structure-builder-introduction

    例如,我已将S.listItem 添加到 deskStructure.js 文件中,该文件可获取所有缺少模块字段的文章。

    export default async () =>
        S.list()
            .title('Content')
            .items([
                // ...
                S.listItem()  //  <-- New root item for my filters
                    .title('My article filters')
                    .icon(FaRegCopyright)
                    .child(
                        S.list()  //  <-- List of filters
                            .title('My article filters')
                            .items([
                                S.listItem()  //  <-- Item with filter description
                                    .title('Articles without module')
                                    .icon(FaCogs)
                                    .child(
                                        S.documentList()  //  <-- Filtered list of articles
                                            .title('Articles without module')
                                            .menuItems(S.documentTypeList(menuType).getMenuItems())
                                            .filter('_type == $type && !defined(module)')
                                            .params({ type: 'article' })
                                    ),
                                S.listItem(), // more filters
                                S.listItem(), // more filters
                            ])
                    ),
                // ...
    

    它不会在一个元素列表上创建不同的过滤器。更多的是制作不同的列表,这些列表都可以根据需要进行过滤。你可以给它任何你想要的图标和文本。土豆/potàto ,'-)

    在排序列表中,除了添加更多排序之外,我认为您无能为力。当元素列表变大时它不起作用,所以我不会打扰。但它位于排序顺序部分:https://www.sanity.io/docs/sort-orders

    【讨论】:

      猜你喜欢
      • 2021-07-09
      • 2020-08-31
      • 2023-03-29
      • 2012-02-27
      • 2016-06-16
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      相关资源
      最近更新 更多