답변:
귀하의 질문을 이해하면 사용자 정의 모듈 (이 예제에서 모듈 이름은 test_remove_field
)을 사용하고 다음 코드를 포함 할 수 있다고 생각합니다 .
function test_remove_field_form_alter(&$form, &$form_state) {
if (arg(0) == 'node' && arg(1) == 'add') {
$form['field_test']['#access'] = 0;
}
}
참고 : field_test
반드시 해당 필드 이름이어야합니다.
필드 권한 모듈은 세트 필드 레벨 권한을 설정할 수 있습니다 :
이 옵션을 사용하여 필드에 대한 역할 기반 권한을 활성화 할 수 있습니다.
권한이 활성화되면 기본적으로이 필드에 대한 액세스가 거부되며 권한 관리 페이지에서 적절한 사용자 역할에 대한 명시적인 권한이 부여되어야합니다. 반면, 이러한 옵션을 사용하지 않으면 필드 권한이 컨텐츠보기 및 / 또는 편집 권한에서 상속됩니다. 예를 들어, 특정 노드를 볼 수있는 사용자도이 필드를 볼 수 있습니다.
필드 권한
hook_form_alter ()를 사용 하고 @ moon.watcher의 답변과 마찬가지로 ['#access']
속성을 설정했습니다 FALSE
.
Drupal 6에 있다면이를 수행하기위한 모듈이 필요합니다. Drupal 7에서는 템플릿에서 hook_form_alter () 를 호출 할 수 있습니다 .
이는 규칙 양식 지원 모듈 ( https://www.drupal.org/project/rules_forms )의 사용 사례입니다 .
특징은 다음과 같습니다.
- 양식별로 양식 작성, 유효성 검증 및 제출을위한 이벤트를 활성화하십시오.
- 조건과 작업에서 개별 양식 요소 또는 전체 양식을 대상으로합니다. 제목, 설명, 무게 등과 같은 양식 요소의 속성을 조작하십시오.
- 양식 유효성 검사 중에 양식 요소의 값을 확인하십시오.
- 규칙 기반 유효성 검사에 실패하면 양식 오류를 설정하십시오.
- 양식을 보거나 제출하면 사용자를 다른 페이지로 리디렉션합니다.
- 요소 검사 도구를 사용하여 활성 양식의 요소 속성을 검사하십시오.