2011-03-30 3 views
3

새 노드를 제출 한 후 사용자에게 표시되는 사용자 지정 메시지를 설정하려고합니다. 이 메시지는 표준 '@type % title has created'을 대체합니다.새 노드를 저장 한 후 사용자 지정 메시지 설정

필자는 '삽입'의 $ op와 함께 hook_nodeapi를 사용해 보았지만 모듈 가중치를 변경하고 변경하는 방법에 관계없이 내 맞춤 메시지는 항상 핵심 drupal 메시지 앞에 나타납니다.

drupal_get_messages()를 호출하여 내 고유 한 메시지를 보내기 전에 원본 메시지를 제거해야하므로이 기능이 작동하지 않습니다.

이 워크 플로는 제 정신을 차게합니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

건배.

답변

0

node_form_submit() 기능을 확인하십시오. 전에 node_save($node);을 수행합니다.

그러면 node_save()을 확인하면 '삽입'$ op가 호출 된 곳이 표시됩니다. 따라서, 변경하고자하는 메시지가 출력되기 전에 hook_nodeapi에 대한 'insert'연산이 호출됩니다.

some workarounds described in this issue queue comment을 찾을 수 있습니다. 또한 해당 문제 큐 스레드가 발생한 곳인 Custom Submit Messages module을 확인할 수도 있습니다. 그것은 과거에 도움이 될 경우

, 나는 가끔 후크가 해고되는 단지 방법을 찾아, hook_nodeapi를 구현하는 소형 모듈을 작성하는 의지했습니다

function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { 
    switch ($op) { 
    dpm('hook_nodeapi '. $op .' fired.'); 
    } 
}