2010-07-31 86 views
4

任何人都知道CCK模塊添加一個文本字段,它只是一個隨機生成的數字?CCK字段是一個隨機數

這意味着,當用戶嘗試創建一個新的節點,他看到一個預填充的隨機數作爲其中的一個字段(並且不能改變這一領域)

回答

5

嘗試Computed Field module,它允許你創建其值由PHP片段定義的字段。對於一個隨機數,你可以使用這樣的事情在你的領域的「計算出的代碼」的配置:

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

注意RAND()也接受最小和最大的論點,在蘭德的形式(分鐘最大)。

此外,請務必根據rand()的期望值範圍啓用「數據庫設置下的存儲」設置,數據類型爲「int」,數據長度合理。這將確保每次顯示節點時都不重新計算該字段。

編輯:我剛剛意識到,每次用戶更新/重新保存節點時,上面的方法存儲一個新的隨機值。如果您想現場生成併爲每個節點一次且僅一次存儲的隨機數(節點的初始保存),嘗試這樣的事情,而不是:

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

這將只設置了一個值字段,如果一個不存在。