CCK字段是随机数

时间:2010-07-31 19:43:14

标签: php drupal content-management-system random cck

任何人都知道CCK模块会添加一个只是随机生成的数字的文本字段吗?

这意味着当用户尝试创建新节点时,他会将预先填充的随机数视为其中一个字段(并且无法更改该字段)

1 个答案:

答案 0 :(得分:5)

尝试Computed Field module,它允许您创建其值由PHP片段定义的字段。对于随机数,您可以在字段的“计算代码”配置中使用类似的内容:

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

请注意,rand()也接受最小和最大参数,格式为rand( min max )。

还要确保启用“使用下面的数据库设置存储”设置,数据类型为“int”,并且根据rand()的预期值范围启用合理的数据长度。这将确保每次显示节点时都不会重新计算字段。

编辑:我刚刚意识到,每次用户更新/重新保存节点时,上述方法都会存储一个新的随机值。如果您希望该字段为每个节点生成并存储一次随机数一次(在节点的初始保存时),请尝试这样的事情:

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

如果该字段尚不存在,则只会为该字段设置一个值。