Извлечь поле продукта для отображения на странице поиска тестовых случаев - PullRequest
0 голосов
/ 27 февраля 2020

Я расширяю Kiwi TCMS для своей команды и пытаюсь отобразить продукт на странице поиска тестовых случаев. Продукт привязан к полю «Категория», и я не уверен, как извлечь это поле из файла testcases / static / js / seach. js.

Я проследил его до jsonrp c. js но что-то отсутствует, не уверен, что именно я не вижу.

Я добавил поле Product в поиске. html файл, и данные перемещены на 1 столбец влево, так как массив не содержит поле Product. Я пробовал "product" и "product_id" в разделе поиска столбцов []. js.

Спасибо

1 Ответ

0 голосов
/ 02 марта 2020

Я отследил его до jsonrp c. js, но что-то упустил, не уверен, что именно я не вижу.

JSON RP C это протокол связи. Spe c очень прост, вы можете найти его в https://www.jsonrpc.org/specification. Функция jsonRPC в Kiwi TCMS является оберткой для этого.

FK отношения между моделями представлены в поле под названием ..._id. Например Категория имеет поле product_id. В то же время модель Product имеет обратную связь с Category - это то, что базовый веб-фреймворк добавляет автоматически. Поле называется Product.category.

Оформление запроса здесь: https://kiwitcms.readthedocs.io/en/latest/modules/tcms.rpc.api.html#module -tcms.rp c .api

Если у вас test_case.category_id затем вы можете отправить еще один запрос API в Product.filter метод фильтрации в поле category с соответствующим значением.

Внутри консоли браузера вы можете сделать что-то вроде:

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

и посмотреть полученные результаты.

Я добавил поле Product в поиске. html файл и данные перемещаются на 1 столбец влево, поскольку массив не содержит поля Product. Я пробовал "product" и "product_id" в разделе поиска столбцов []. js.

Вам нужно будет изменить всю страницу (включая поиск, обратный вызов, HTML шаблон и функция рендеринга возвращаемых данных), чтобы это работало.

Похоже, что либо

  • вам нужна дополнительная информация, показанная в таблице поиска: свободного места мало, OTOH есть фильтр для каждого продукта, поэтому, если вы научите пользователей отфильтруйте по продукту все, что они увидят, будет связано с этим продуктом, поэтому им не понадобится дополнительный столбец для этой информации
  • вам нужен более гибкий механизм расширения - это в основном выполнимо и позволяет создавать страницы в Kiwi TCMS чтобы быть произвольно расширяемым, однако мы не думали в этом направлении, и нам нужно больше информации о предполагаемом сценарии использования, чтобы выяснить базовую архитектуру.
  • Вы можете создать совершенно отдельную страницу поиска, используя исходный код в качестве своей базы. Затем объедините это в плагин и просто установите свой плагин в Kiwi TCMS. Это на самом деле звучит как лучший вариант в этом случае, и вы будете иметь полный контроль над этой страницей, см. https://kiwitcms.readthedocs.io/en/latest/plugins/index.html.
...