Попробуйте модуль Computed Field *1001*, который позволяет создавать поля, значения которых определяются фрагментами PHP. Для случайного числа, вы можете использовать что-то вроде этого в конфигурации вашего вычислительного кода:
$node_field[0]['value'] = rand();
Обратите внимание, что rand () также принимает аргументы min и max в форме rand ( min , max ).
Также обязательно включите параметр «Хранить с использованием настроек базы данных ниже» с типом данных «int» и разумной длиной данных, основанной на ожидаемом диапазоне значений для rand (). Это гарантирует, что поле не будет пересчитываться каждый раз, когда отображается узел.
РЕДАКТИРОВАТЬ: Я только что понял, что вышеупомянутый метод сохраняет новое случайное значение каждый раз, когда пользователь обновляет / перезапускает узел. Если вы хотите, чтобы поле генерировало и сохраняло случайное число один и только один раз для каждого узла (при первоначальном сохранении узла), попробуйте что-то вроде этого:
if (!$node_field[0]['value']) {
$node_field[0]['value'] = rand();
}
Это установит значение для поля, только если оно еще не существует.