Подсчёт числовых значений полей по формуле и сохранение итогового результата в отдельном поле, как лучше сделать и есть ли готовые модули в Drupal 9?

Главные вкладки

Аватар пользователя chelwolf chelwolf 31 октября 2023 в 11:09

Есть тип материала "Портфолио", где добавлено несколько полей с таксономией. У каждого термина, который выбирает пользователь, есть поле "Балл", где хранится целое число.

Также есть скрытое для пользователя поле с целым числом, где должна быть указана сумма баллов, высчитанная пор формуле. Поле так и называется - "Сумма баллов".

Как сделать так, чтобы после сохранения материала эти поля с баллами считались по определённой формуле и сохраняли результат в скрытое поле "Сумма баллов"?

Пример формулы: (value1 + value2 + value3)*value4

В дальнейшем планируется использовать это значение для подсчёта общего балла по итогу всех добавленных материалов.

Для Drupal 9 нашёл несколько решений:
1) https://www.drupal.org/project/views_simple_math_field - позволяет подсчитывать значения полей в представлении на основе нужной формулы, но а что, если этих полей будет 1000 шт на странице?
2) https://www.drupal.org/project/computed_field - поле для подсчёта, но как понял использует для этого плагин PHP, который не рекомендуется использовать, и не даёт готового "конструктора"
3) https://www.drupal.org/project/math_field - форматтер текстового поля, который показывает обработанное значение при выводе, опять же что будет, если таких значений будет 1000 шт на страницу?

Есть какое-то проверенное решение, быть может какой-то хороший модуль для таких целей? Поделитесь опытом.

Лучший ответ

Комментарии