Posted by sfinity on June 20, 2013 at 12:22pm
いつもお世話になります。
ノードの保存で前回との差分表示も必要な為、Diffモジュールを使っています。
今回、初めてのカスタムモジュールを作りnode_save関数でノードの
更新処理をしてるのですが、更新後、Diffモジュールに新規リビジョン
として保存されてるのに差分が無いと表示されます。
(実際は差分があります)
以下のようなコードを書いているのですが、Diffモジュールで差分が
表示されませんでした。
単純に$node_revision = 1;で新規リビジョン作成で行けると
思ったのですが…
ご教授よろしくお願いします。
$node = node_load($nid); // 更新するノードを読み込む
$node->field_news_title['und']['0']['value'] = '更新タイトル';
$node->revision = 1; // Create new revision
$node->log = "Update タイトルを更新"; // Log message
node_save($node);
Comments
原因がわかりました。
DiffモジュールのVerによって動作が違うようです。
7.x-2.x系はちゃんと差分表示が機能するのですが、
7.x-3.x系から大きく機能変更されてるようで
うまく差分表示されませんでした。
しかし、3.x系でも一部のフィールドでは差分表示が
されているので、何か設定が必要?なのかもしれません。
とりあえず、2.x系に戻すことで解決しました。