hook_insert() 节点插入

Posted on 七月 26th, 2010 by keeperhan and tagged .
keeperhan 的头像

       hook_insert($node)是节点模块使用的一个钩子函数 . 当一个新节点被保存插入数据库时,hook_insert()函数被回调 . 将自定义数据存储到数据库的相关的表中 . hook_insert()这个钩子函数是唯一被称为是在节点类型的元数据定义的模块 .
<?php
/**
*Implementation of  hook_insert()
*/
function demo_insert($node){
    $industry = $node->industry ;
    foreach($industry as $key=>$val) {
        if($industry[$key] == '0') {
            unset($industry[$key]);
        }
    }
    $industry = implode(';',$industry);
//     方法一
    /**
    *db_query("INSERT INTO {demo_company} (nid,vid,corporate,nature,shifts,industry) VALUES (%d,%d,'%s','%s','%s','%s') " , $node->nid ,$node->vid ,$node->corporate ,$node->nature ,$node->shifts ,$industry);
    */
//方法二
    $table = 'demo_company';
    $record = new stdClass();
    $record->nid = $node->nid;
    $record->vid = $node->vid;
    $record->corporate = $node->corporate;
    $record->nature = $node->nature;
    $record->shifts = $node->shifts;
    $record->industry = $industry;
    drupal_write_record($table,$record);
}
?>