欢迎各位兄弟 发布技术文章
这里的技术是共享的
drupal7 d7 看看 /node-admin/18791
//在插入前 和插入后执行的动作
function shipingzhongcustom_nodeapi(&$node, $op, $a3 = null , $a4 = null)
{
if ($op='presave')
{
if($node->type == 'jingjiazongbiaotype' || $node->type == 'kefuzongbiaotype' || $node->type == 'seozongbiaotype')
{
var_dump($node);exit;
}
}
}
好像是 $_GET['q']=node/add/seozongbiaotype 时 就已执行 hook_nodeapi ($op=='prepare'),
在node/add/seozongbiaotype提交表单$_POST['q'] 进行保存前的时候 ($op=='prepare') 相继执行
hook_nodeapi ($op=='validate') (验证时 应该是验证后吧 执行) hook_nodeapi ($op=='presave') (插入前执行)
hook_nodeapi ($op=='insert') (插入后执行) ($op=='update')(更新后执行)
编辑时 修改时
打开 $_GET['q']=node/nid/edit
load 执行
prepare 执行
提交 $_POST['q']=node/nid/edit 更新时
load 执行
validate 执行
presave 执行
update 执行
创建时 增加时
打开 $_GET['q']=/node/add/kehugengzong
load 执行 (应该load未执行)
prepare 执行
提交 $_POST['q']=/node/add/kehugengzong 保存时
validate 执行
presave 执行
insert 执行
实现hook_nodeapi()
,$op == 'delete'
以捕获删除操作并停止(通过调用drupal_goto()
,或调用drupal_access_denied()
以强制执行用户错误。仅当引用者是上述删除确认表单时才捕获删除操作。或者,更安全,将您的 VBO 操作列入白名单并在所有其他 referer 上返回 false。通常可以通过读取传递给 的 $node 来找到 referer hook_nodeapi()
。
d6
https://api.drupal.org/api/drupal/developer!hooks!core.php/function/hook_nodeapi/6.x