kiwi-tcms - 提取产品字段以显示在测试用例搜索页面上
问题描述
我正在为我的团队扩展 Kiwi TCMS 并尝试在 Search Test Cases 页面上显示产品。产品与类别字段相关联,我不确定如何在 testcases/static/js/seach.js 文件中提取该字段。
我已将其追溯到 jsonrpc.js 但缺少一些东西,不确定我没有看到什么。
我在 search.html 文件中添加了 Product 字段,并且由于数组不包含 Product 字段,因此数据向左移动了 1 列。我在 search.js 的 columns[] 部分尝试了“product”和“product_id”。
谢谢
解决方案
我已将其追溯到 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。
推荐阅读
- android - 从 iOS 访问谷歌智能锁密码
- c# - 尝试绑定下拉列表但 ToSelectList 类出错
- javascript - 是否可以在由 javascript 创建的元素上使用 getElementByClassName() - Mapbox
- javascript - Google 应用脚本中有哪些 javascript 函数?谷歌维护的官方名单?拒绝支持与否?
- javascript - Sapper/Svelte - 需要 @html 包含的内容来调用组件
- python - Python - 评估 Pandas DataFrame 中的两个表达式并创建新列
- sql - 检查一个多边形是否与每个集群中的其他多边形相交
- node.js - 使用 express 框架的 node.js 的便携式 https 解决方案
- c++ - C++ GDIPlus 位图锁定位结果 WrongState(8)
- python - 使用 mock_open 为 builts.open 引发异常