Php Directus-用于在另一个集合中创建或更新项的示例钩子
我正在构建一个移动应用程序,它有一个显示文章链接的列表视图。该应用程序的内容由Directus提供支持 列表视图已被删除Php Directus-用于在另一个集合中创建或更新项的示例钩子,php,directus,Php,Directus,我正在构建一个移动应用程序,它有一个显示文章链接的列表视图。该应用程序的内容由Directus提供支持 列表视图已被删除 title description (200 characters, no HTML) image 一篇文章 title content (html) image 为了保存API请求的大小,我将列表视图数据存储在名为articles\u list的集合中,并存储在名为articles的集合中 为了让Directus对作者保持直观,我需要Directus在文章集合中创建/更
title
description (200 characters, no HTML)
image
一篇文章
title
content (html)
image
为了保存API请求的大小,我将列表视图数据存储在名为articles\u list
的集合中,并存储在名为articles
的集合中
为了让Directus对作者保持直观,我需要Directus在文章
集合中创建/更新/删除项目时,自动在文章
集合中创建/更新/删除项目
这两个集合存储的数据基本相同,除了文章列表
具有说明
而不是内容
。删除HTML标记后,description
字段包含content
的前200个字符
我看过hooks文档,但不知道如何在不同的集合中创建新项目(articles\u list
)。使用外部库(如ezyang/htmlpurifier)的最佳方式是什么?如何调试我的钩子
任何帮助都将不胜感激。我仍在学习了解Directus的工作原理。我建议创建一个包含4个字段的集合:
title
excerpt (/ description)
content (html)
image
然后,您可以使用字段
参数仅请求概览页面上的标题
和摘录
,以节省一些带宽/延迟:
/items/articles?fields=标题、摘录
它还为您节省了使两个集合保持同步的麻烦,并防止了必须存储重复数据这是钩子内调试的一个示例
您的问题就在这里,如果您想从hook更改另一个集合字段,更好的方法是使用ZendDB谢谢!但我仍然需要删除HTML标签并修剪摘录,这需要HTML净化器吗?您还可以回答调试钩子的最佳方法吗?不,我建议在摘录的主HTML旁边有一个单独的文本区域。这样,您就不必进行任何HTML清理(并且您还可以从HTML中单独调整摘录。调试钩子与调试任何其他PHP片段是一样的。我自己不是PHP开发人员,但我倾向于var_dump()和die()我的胜利之路我想如果摘录是自动从内容中提取出来的话,对作者来说会更容易。但是在这个阶段我可能太难实现了。我认为这可能是最好的方法,我在使用Laravel时也做了类似的事情,但由于挂钩发生在后台,它们通常不会输出到浏览器窗口是吗?