Поле CCK это случайное число

Кто-нибудь знает о модуле CCK, который добавляет текстовое поле, которое является просто случайно сгенерированным числом?

Это означает, что когда пользователь пытается создать новый узел, он видит предварительно заполненное случайное число в качестве одного из полей (и не может изменить это поле)

4 голоса | спросил zoo 31 J000000Saturday10 2010, 23:43:14

1 ответ


0

Попробуйте модуль вычисляемых полей , который позволяет создавать поля, значения которых определяются фрагментами PHP. Для случайного числа вы можете использовать что-то подобное в конфигурации «Вычисляемый код» вашего поля:

$node_field[0]['value'] = rand();

Обратите внимание, что rand () также принимает аргументы min и max в форме rand ( min , max ).

Также обязательно включите параметр «Хранить с использованием настроек базы данных ниже» с типом данных «int» и разумной длиной данных, основанной на ожидаемом диапазоне значений для rand (). Это гарантирует, что поле не будет пересчитываться каждый раз, когда отображается узел.

РЕДАКТИРОВАТЬ . Я только что понял, что описанный выше метод сохраняет новое случайное значение каждый раз, когда пользователь обновляет /перезапускает узел. Если вы хотите, чтобы поле генерировало и сохраняло случайное число один и только один раз для каждого узла (при первоначальном сохранении узла), попробуйте что-то вроде этого:

if (!$node_field[0]['value']) {
  $node_field[0]['value'] = rand();
}

Это установит значение для поля, только если оно еще не существует.

ответил peterjmag 1 AM00000010000001631 2010, 01:40:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132