企業のイントラネットなどで Drupal を利用する場合、決裁文書に対してシーケンシャルに一意の採番をするユースケースを考える。単に ID を振っていくだけなのだが、ID といっても企業ごとにその仕様は決まっているだろう。Drupal ではどうしたらいいのだろう?
その答えだが、ユニークな ID をつけるくらいなら CCK にアドオンする Computed Field というモジュールを使えば Drupal にも簡単にできる。node には nid という一意な ID がデータベース中に保持されているから、それを利用すればよい。
$node_field[0]['value'] = sprintf('%s-%04d-%08d',
$node->field_name1[0]['value'], // このフォーム中の field_name1 の値も組み入れることができる。
date('Y', time()), // 西暦4桁
$node->nid // 一意な ID (8桁)
);$display = $node_field_item['value'];このテクニックでの肝は、Computed Code: では
$node_filed[0]['value']という変数に採番したい ID の値を入れてあげることと、そのユニークな ID を生成するときに、Computed Code: のところで、このフォーム内の値である field_name1 も参照できることだ(もちろん name1 という名前でフィールドを追加しておかねばならない)。name1 は、
$node->field_name1[0]['value']という変数が対応している。
More useful software: ipad to computer transfer |iphone sms to computer transfer | iphone contact to computer |ipod mate for mac |ipod mate | iphone photo transfer |ipad mate |dvd to ipod converter |iphone mate |ipod movie converter |dvd cloner| dvd creator |avi mpeg converter |Audio Maker|ipod to computer for mac |ipad mate for mac |DVD to iPod Converter for Mac |dvd to ipad converter |iPod Video Converter for Mac | iPhone Video Converter for Mac |AVI to DVD for Mac |dvd creator for mac |dvd cloner for mac