답변:
hook_form_alter
경로 재 지정 경로를 설정할 수있는 사용자 정의 제출 핸들러를 추가하는 데 사용할 수 있습니다 .
참고 항목 FAPI 형태로 재 지정에 대한 자세한 내용을.
특정 컨텐츠 유형을 작성하거나 편집 할 때 사용자를 임의의 페이지로 경로 재지 정하는 규칙을 작성할 수 있습니다. 규칙을 추가 할 때 "새 컨텐츠 작성 후"를 선택하고 "컨텐츠 유형"조건도 추가하십시오. 할 일 섹션에서 사용자를 원하는 페이지로 리디렉션 할 수있는 옵션을 제공합니다.
노드를 편집 한 후 경로 재 지정하려면 새 규칙을 작성하고 첫 번째 옵션으로 "기존 컨텐츠를 업데이트 한 후"를 선택하십시오.
이 작업을 수행 할 때 기존 노드를 편집하기 위해 편집 버튼을 클릭 할 때 일반적으로 URL에 추가되는 가능한 기존 대상을 설정 해제해야합니다.
교체 article
의 MYMODULE_form_article_node_form_alter
콘텐츠 유형의 컴퓨터 이름.
/**
* Implements hook_form_BASE_FORM_ID_alter().
*/
function MYMODULE_form_article_node_form_alter(&$form, &$form_state, $form_id) {
$form['actions']['submit']['#submit'][] = '_MYMODULE_node_form_redirect';
}
/**
* Submit callback.
*/
function _MYMODULE_node_form_redirect($form, &$form_state) {
// Unset destination first.
unset($_GET['destination']);
unset($_REQUEST['edit']['destination']);
$form_state['redirect'] = 'FOO/BAR';
}
unset
가 destination
편집 유스 케이스를 처리하도록되어 있지만, 그들은 내 드루팔 7 사이트에 영향을주지 않습니다.
Drupal 7에서 노드 편집 양식을 변경하여 자신의 제출 기능을 '첨부'할 수 있습니다. 여기서 '삭제'매개 변수를 포함하도록 노드 삭제 확인 양식의 form_state를 변경할 수 있습니다. ve는 '일곱'관리자 테마의 하위 테마로 개발되었습니다 ...
hook_form_FORM_ID_alter에 대한 설명서
이 후크를 모듈뿐만 아니라 템플릿 / 테마에도 추가 할 수 있습니다.
그래서 당신의 테마 template.php
에 다음 형식의 후크를 추가하십시오 :
function yourtheme_node_delete_form_submit( &$form, &$form_state ) {
$form_state[ 'redirect' ][ 1 ][ 'query' ][ 'destination' ] = "admin/content";
}
그리고 짜잔. 노드가 삭제 된 후 더 이상 홈페이지로 리디렉션되지 않습니다.
여기에서 해결책 http://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#comment-18139
<?php
function FORM_NAME_form_submit($form, &$form_state) {
$form_state['redirect'] = array(
// $path
'path/to/redirect/to',
// $options
array('query' => array('key' => 'value')),
// $http_response_code
302,
);
}
?>