2009-08-27 4 views
1

특정 콘텐츠 유형의 경우 액세스 거부 오류 메시지를 변경하려고합니다. 이 일을하는 가장 좋은 방법은 무엇입니까?

function mytheme_preprocess_page(&$vars) { 

    if ($vars['title'] == 'Access denied' && $node->type == 'ODP') { 
    $vars['content'] = 'OMG WHAT R U DOING!1!?!!1'; 
    } 

나는 그런 식으로 작업하기를 바랬습니다. 그러나 print_r(get_defined_vars()) 이후에 표시 할 노드의 유형을 파악하는 데 도움이되는 것을 찾을 수 없었습니다.

답변

0

나는 이것을 할 수 있다고 생각지 않는다. Drupal에서 액세스가 거부 된 메시지는 drupal_access_denied()을 호출하여 생성된다. 링크 된 API 항목을 읽으면 방문한 페이지 유형에 대한 정보를 전달하지 않는다는 것을 알 수 있습니다.

+1

예. $ op == 'load'일 때 hook_nodeapi()를 사용하여 다른 방법을 알아 냈습니다. –

관련 문제