【问题标题】:A CCK field that's a random number一个随机数的 CCK 字段
【发布时间】:2011-03-23 17:10:05
【问题描述】:

有人知道 CCK 模块会添加一个随机生成的数字的文本字段吗?

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

【问题讨论】:

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


    【解决方案1】:

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

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

    注意 rand() 也接受 min 和 max 参数,形式为 rand(min, max)。

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

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

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

    这只会在字段不存在时为字段设置一个值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多