web-dev-qa-db-ja.com

drupalノードがnode_save()で公開されているかどうかを確認します

ノードの作成時にユーザーがノードを公開するように設定しているかどうかを確認しようとしています。保存を押すと、node_save()の呼び出しが行われます。 print_r($node)を呼び出そうとしましたが、ノードの公開ステータスに関連するデータに何も表示されないようです。

ノードが公開されるように設定されているかどうかを確認するにはどうすればよいですか?エイリアスが設定されているかどうかを確認する方法はありますか?

4
macha

_$node->status_を探しています。 Nodeモジュールは、コードを読みやすくするために、0/1の代わりに使用できる2つの定数を定義します。

_/**
 * Node is not published.
 */
define('NODE_NOT_PUBLISHED', 0);

/**
 * Node is published.
 */
define('NODE_PUBLISHED', 1);
_

例:

_if ($node->status == NODE_PUBLISHED) {
  // Node is published.
}
_

node_save()を変更しないでくださいことに注意してください。代わりに、ノードを保存する前に(_$op_ is "presave")または後(_$op_ is "insert"/"update")に何かを行う hook_nodeapi() を実装します。 。

7
Berdir