Рейтинг:0

Выполнение и сохранение расчета из общего поля в двух разных узлах

флаг us

Резюме

Я собираю результаты опроса - один для предварительного теста и один для пост-теста, и я ищу способ автоматически генерировать расчет для числового поля в двух узлах (один предварительный тест, один пост-тест) и сохранить этот расчет.

Например, в типе контента «Результат опроса» у меня есть следующие два узла:
Узел А:

  • field_participant_id: 111
  • field_pre_or_post: до
  • поле_среднее: .5

Узел Б:

  • field_participant_id: 111
  • field_pre_or_post: публиковать
  • поле_среднее: .75

Я надеюсь, что смогу автоматизировать способ вычисления разницы между поле_среднее в двух узлах (.25), когда проходит пост-тест, и иметь возможность сохранить это вычисленное значение.

Подробнее Ниже приведен некоторый дополнительный контекст на случай, если он будет полезен, или есть более простой способ сделать то, что я пытаюсь сделать.

  1. Данные поступают с помощью веб-формы, дважды заполненной участником до и после опроса. Цель состоит в том, чтобы расчет выполнялся при отправке пост-опроса.
  2. Результаты каждой веб-формы преобразуются в тип контента «Результат опроса» с помощью Модуль создания контента веб-формы который включает поля с: идентификатором участника, до или после теста и средним баллом по опросу.
  3. После создания пост-опроса я надеюсь вызвать расчет разницы в этих оценках и сохранить этот расчет либо в узле B, либо в новом пакете узла/контента. Затем я надеюсь использовать это рассчитанное число в некоторых представлениях.

Любые идеи о том, как что-то подобное может быть возможно - предпочтительно с использованием модуля вклада?

флаг cn
[Computed Field](https://www.drupal.org/project/computed_field) делает это, но, как указано на странице модуля, лучше написать хуки самостоятельно в пользовательском модуле, а не использовать этот модуль. Чтобы использовать хуки, вы можете использовать `hook_node_presave()` и установить значение поля.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.