问题标签 [directus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
directus - Directus:向其他用户隐藏项目
设想:
- 我有 3 个具有不同角色的用户(admin、siteAadmin和siteBadmin)。
- 我有一个由 2 个站点(siteA,siteB)使用的集合。
- 为集合设置了一个自定义挂钩,以将外部电子邮件发送给管理员用户
- 通过公共API 发布数据。
目标:我想在 siteBadmin 列表中隐藏来自 siteA 的数据。如果不创建自定义页面,这可能吗?还是最好为 siteB 创建一个重复的集合?
实现目标的任何其他选择?
TIA
javascript - 如何在 vuex 中添加新对象并通过 API 调用存储图像 url
我正在尝试学习 vue,但我坚持从 API 获取数据。我正在使用 directusSDK 从 directus 获取数据,并且我能够从 API 获取数据,但我无法将图像 URL 存储在状态的新对象中,有人可以告诉我如何在状态中添加新对象属性并将图像 URL 存储在其上.
这是我的代码
成功获取 imgUrl 我对我的代码进行了更改,并从 API 获取了 imgUrl,但现在的问题是它没有得到正确的 imgUrl,而是分配了随机的 imgUrl。
这是我更新的代码:
php - 首次安装 directus 时 /projects 出现错误 500
我已经在我的 VPS(Debian 10、PHP 7.3、Apache 2.4.38)上安装了当前版本的 directus。
运行基于浏览器的安装时,/logs 中出现错误:
[2020-02-27 20:31:59] api[].ERROR: ParseError: 语法错误,意外的“?”,预期 /var/www/clients/client0/web16/web/vendor/symfony 中的变量 (T_VARIABLE) /translation-contracts/TranslatorTrait.php:44
对我来说,这听起来像是一个错误的 PHP 版本,但 PHP 7.3 正在运行。
我不知道这是否重要,但是忽略这一点后,在您输入数据库连接参数的页面上,对 /server/projects 的 POST 返回错误 500“内部服务器错误”。
我找不到任何日志条目。
- 如何找到 500 的原因?
- 是否可以在没有基于浏览器的安装的情况下配置应用程序?
编辑master
从to
切换回来v8.5.5
,在这个源代码中,有一个 trans 函数:
所以确实有类型?string
。
IMO,我的 PHP 版本应该能够处理这个问题。但在此之前,我有 Debian 9 和 PHP 7.0,我遇到了同样的问题,这就是将 Debian 从 9 升级到 10 的原因。
Debian 9 的编译缓存是否仍然存在?
但我想这不是主要问题。我的问题是我收到一个错误 500,除了 apache error.log 中的 500-log-entry 之外,我看不到任何东西来诊断这个问题。
php - 每个钩子有条件地要求 M2O 入口
我目前正在构建一个简单的产品管理,它使用状态来跟踪产品状态生命周期。我最近添加了一个名为“handles”的新表,它只是product_id
和handle
(简单的文本输入)。为简单起见:
我创建了一个 hook.php 文件,该文件已经加载并可以工作。
只要更新的顺序是这样的,它就可以完美地工作:
- 新建
product
状态为“草稿” - 添加新
handle
产品并保存产品 - 将状态切换为“详细”
这有效,因为现在我确实有一个“句柄”并且我的代码有效(count()
不为零,所以上面的检查不会抛出UnprocessableEntityException
)。
但是如果我的步骤是这样的:
- 创建新
product
的状态为“详细”(没有任何handle
)
我不知道如何编写我的钩子,所以我可以检查使用时未保存的关系字段item.create.products:before
。任何提示我如何在将关系字段保存到数据库时检查它?
提前致谢!欢迎任何帮助!
directus - Directus - 如何在 api 中显示 Many2Many 关系
我正在尝试在 Directus 中创建博客。我创建了博客集合和类别集合。我正在使用具有多对多关系的联结表将类别连接到博客。我可以创建一个新的博客文章并从类别集合中选择类别,我也可以添加一个新类别。但是当我在 api 中调用时,它没有在我的 rest api 调用中显示类别字段。我可以调用类别端点并查看rest api中所有类别的列表,但在博客集合端点中,我无法查看相关类别名称。
我想在我的 rest api 中查看每个博客帖子的所有选定类别名称。我想在我的rest api中调用类别集合时查看所有博客文章,方法是输入项目名称/项目/类别/外星人/这样的类别名称,这样我就可以看到所有外星人类别的博客文章。
目前我通过在 json 中调用我的博客集合来得到这个 -
如何在 rest api 上获取类别名称?
directus - 在directus中从模块添加监听器
我想为 Directus 创建一个扩展(比如一个模块),我想听一个事件。但脚本仅在模块打开时执行。
启动 Directus 时如何附加监听器?
php - 如何在 Directus 中的多对多关系上显示标签?
我已经通过 directus 管理应用程序将工作的多对多关系添加到 directus api,但是在 directus 应用程序中,当要将项目添加到集合中时,选择选项的标签不会被传播。我能够正确选择项目并保存所有内容,因此我知道正确设置了多对多关系,但我无法正确传播标签。我尝试了几种不同的方法,包括使用 . 符号来访问相关集合中的字段,但无济于事。
使用点表示法时,关系从不加载,只显示加载符号,而在标签中没有任何内容时,关系不加载,但没有标签。
下面是几个截图:
php - 直接使用数据库更新内容时,如何在 Laravel 中使用适当的数据更新搜索索引?
我正在为nurserypeople.com设置搜索功能,并且我正在使用Directus CMS 来管理和更新内容,而网站用户将与基于Laravel 构建的网络应用程序进行交互。
我将使用 Laravel Scout 作为搜索索引,我相信使用 Algolia 搜索 API。由于我将通过 Directus 进行更新,Directus 直接在数据库上进行编辑,而不是通过 Laravel(使用 save() 方法),我担心我的搜索索引不会在我编辑和制作时使用 Laravel Scout 更新自己更改内容。
有没有办法确保内容被正确编入索引,比如每周/每天一次,这样我每次更新内容时就不必通过命令行手动更新索引?
谢谢!
docker - 从 dockerfile 创建自己的 Directus 映像
我下载了 Directus.io repo https://github.com/directus/directus,我想创建自己的图像。如何使用 Dockerfile 进行操作。
我试图从 repo docker https://github.com/directus/docker运行脚本,但我收到错误消息: