2

我正在构建一个具有列表视图的移动应用程序,该列表视图显示文章的链接。该应用程序的内容由 Directus 提供支持。

列表视图有

title
description (200 characters, no HTML)
image

一篇文章有

title
content (html)
image

为了节省 API 请求的大小,我将列表视图数据存储在一个名为的集合articles_list中,并将文章存储在一个名为articles.

为了让作者保持 Directus 的直观性,我需要 Directus 在集合中创建/更新/删除项目articles_list时自动创建/更新/删除集合中的项目articles

两个集合都存储基本相同的数据,除了articles_listdescription而不是content. 该description字段具有content删除 HTML 标记后的前 200 个字符。

我查看了 hooks 文档,但不确定如何在不同的集合中创建新项目(articles_list)。使用 ezyang/htmlpurifier 等外部库的最佳方式是什么?我该如何调试我的钩子?

任何帮助将不胜感激。我仍在学习了解 Directus 的工作原理。

4

2 回答 2

5

我建议创建一个包含 4 个字段的集合:

title
excerpt (/ description)
content (html)
image

然后,您可以使用该fields参数仅在概览页面上请求titleexcerpt以节省一些带宽/延迟:

/items/articles?fields=title,excerpt

它还为您省去了必须保持两个集合同步的麻烦,并且可以避免存储重复数据

于 2019-03-04T22:26:21.007 回答
0

这是一个在钩子内调试的例子 在此处输入图像描述

你的问题就在这里,如果你想从钩子中更改另一个集合字段,更好的方法是使用 ZendDB Example 过滤器钩子来更新具有相关字段的项目

于 2020-04-25T12:12:54.020 回答