新しい有機グループノードが作成されたときに、Webフォームを自動的に作成したいと思います。
Webフォームには事前定義フィールドがあり、グループ管理者または事前定義された役割を持つグループ内のユーザーに電子メールを送信する必要があります。または、グループコンテンツタイプのcckフィールドに入力されたアドレスに電子メールを送信することもできます。
Og_webformを使用してみましたが、各グループのWebフォームを作成する方法を理解できませんでした。
これにはおそらく複数ありました。私がそれを見る方法はカスタムモジュールです。
Drupal 6、hook_node_insert($ node)in Drupal 7.でhook_nodeapi(&$ node、$ op)を使用したい。
あなたのコードはこのようなものになります
CUSTOM_MODULE_NAME_nodeapi(&node, $op) {
switch ($op) {
case 'insert':
if ($node->type == 'group') {
global $user;
// Create new object.
$node = new stdClass();
// Set desired data and metadata as members in object.
$node->type = 'predefine_webform_with_predefine_fields';
$node->uid = $user->uid;
$node->title = 'node title';
$node->body = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit...';
//... prefill other cck fields
// Save the node
node_save($node);
}
break;
}
}
}
(Drupal 7、スイッチのケースを除いたもの)のコードは同じに見えるはずです)
プログラムでノードを作成するには、特定のアクションでnode.moduleに変更を加える必要があります
オンラインで。 874、node_save($ node)を見つけます。特定のコンテンツタイプ、つまり「ページ」からノードを作成する状況があるとします。そしてプログラム的にノードは
コードはストーリータイプ
if($node->type=="page")
{
$node_new = new StdClass();
//creating a bare node
$node_new->type = 'story ';
//giving it type
$node_new->status = 1;
//give it a published staus
$node_new->title = "This is story title";
//gives title
$node_new->body = "This is story body";
//gives body
node_save($node_new);
//save it and give it the rest of the attributes
//drupal_set_message('Automated '.$node_new->type.'Created');
}