node_save関数でDiffモジュールの差分表示されない?

Events happening in the community are now at Drupal community events on www.drupal.org.
sfinity's picture

いつもお世話になります。

ノードの保存で前回との差分表示も必要な為、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

原因がわかりました。

sfinity's picture

DiffモジュールのVerによって動作が違うようです。

7.x-2.x系はちゃんと差分表示が機能するのですが、
7.x-3.x系から大きく機能変更されてるようで
うまく差分表示されませんでした。

しかし、3.x系でも一部のフィールドでは差分表示が
されているので、何か設定が必要?なのかもしれません。

とりあえず、2.x系に戻すことで解決しました。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: