如何从Sanity Desk Structure中移除指定的media.tag文档
移除Sanity媒体库自动创建的Media Tag文档
要移除media library插件自动生成的media.tag文档类型,你需要在deskTool的structure配置里对现有结构做过滤,排除media.tag类型。具体操作如下:
- 调整
deskTool的structure配置逻辑,通过S.documentTypeListItems()获取默认文档类型列表,过滤掉media.tag后,再与你现有的home、settings结构合并。 - 调整后的完整插件配置代码如下:
plugins: [ deskTool({ structure: (S) => { // 过滤掉media.tag文档类型 const filteredDocTypes = S.documentTypeListItems().filter( item => item.getId() !== 'media.tag' ); // 合并自定义结构与过滤后的文档类型列表 return pageStructure([home, settings], S, filteredDocTypes); }, defaultDocumentNode: previewDocumentNode({ apiVersion, previewSecretId }), }), singletonPlugin([home.name, settings.name]), productionUrl({ apiVersion, previewSecretId, types: PREVIEWABLE_DOCUMENT_TYPES, }), media(), vercelDeployTool(), visionTool({ defaultApiVersion: apiVersion }), ],
- 若你的
pageStructure函数原本不支持接收额外文档类型参数,需要修改其实现,示例如下:
// 修改后的pageStructure函数,支持传入额外的文档类型列表 const pageStructure = (customItems, S, extraItems = []) => { return S.list() .title('Content') .items([ ...customItems, S.divider(), // 添加分隔线区分自定义结构与其他文档 ...extraItems ]); };
这样就能在保留原有结构的基础上,把media.tag文档类型从Sanity桌面端隐藏,实现移除该文档类型的需求。
内容的提问来源于stack exchange,提问作者Burger Sasha
相关产品推荐
相关产品推荐

