首页 > 解决方案 > 提取产品字段以显示在测试用例搜索页面上

问题描述

我正在为我的团队扩展 Kiwi TCMS 并尝试在 Search Test Cases 页面上显示产品。产品与类别字段相关联,我不确定如何在 testcases/static/js/seach.js 文件中提取该字段。

我已将其追溯到 jsonrpc.js 但缺少一些东西,不确定我没有看到什么。

我在 search.html 文件中添加了 Product 字段,并且由于数组不包含 Product 字段,因此数据向左移动了 1 列。我在 search.js 的 columns[] 部分尝试了“product”和“product_id”。

谢谢

标签: kiwi-tcms

解决方案


我已将其追溯到 jsonrpc.js 但缺少一些东西,不确定我没有看到什么。

JSON RPC 是一种通信协议。规范非常简单,您可以在https://www.jsonrpc.org/specification找到它。Kiwi TCMS 中的jsonRPC函数是一个包装器。

模型之间的 FK 关系由一个名为 的字段表示..._id。例如 Category 有一个字段product_id。同时 Product 模型与 Category 具有反向关系——这是底层 Web 框架自动添加的。该字段称为Product.category

在此处查看如何进行查询: https ://kiwitcms.readthedocs.io/en/latest/modules/tcms.rpc.api.html#module-tcms.rpc.api

如果您有,test_case.category_id那么您可以发送另一个 API 请求以对具有相应值Product.filter的字段进行方法过滤。category

在浏览器控制台中,您可以执行以下操作:

jsonRPC('Product.filter', {category: 1630}, console.log)

看看你得到的结果。

我在 search.html 文件中添加了 Product 字段,并且由于数组不包含 Product 字段,因此数据向左移动了 1 列。我在 search.js 的 columns[] 部分尝试了“product”和“product_id”。

您必须修改整个页面(包括搜索、回调、HTML 模板和呈现返回数据的函数)才能正常工作。

这听起来像

  • 您需要在搜索表中显示更多信息:可用空间不多,OTOH 每个产品都有一个过滤器,因此如果您教用户按产品过滤,他们看到的所有内容都将与该产品相关,因此他们不需要额外的该信息的列
  • 你需要一个更灵活的扩展机制——在 Kiwi TCMS 中设计页面以任意扩展是可行和可能的,但是我们还没有考虑过这个方向,我们需要更多关于预期用例的信息来弄清楚底层架构。
  • 您可以使用上游代码作为基础设计一个完全独立的搜索页面。然后将其捆绑到一个插件中,然后将您的插件安装到 Kiwi TCMS 中。在这种情况下,这实际上听起来是最好的选择,您将完全控制该页面,请参阅https://kiwitcms.readthedocs.io/en/latest/plugins/index.html

推荐阅读