>

개인 프로젝트에 webform 8.x를 사용하고 있으며 노드 작성자 만 양식을 제출할 수 있는지 알고 싶습니다.

내 프로젝트에서 각 노드는 수족관이며 온도, pH, KH EC와 같은 특정 노드 (수족관)에 대한 모든 일일 데이터를 수집하기 위해 webform을 사용하고 있습니다. 특정 수족관에 대해 매일 제출 된 데이터를 볼 수있는 노드 (수족관)와 관련된보기를 만들 수 있었지만 문제는 모든 사람이 양식을 제출할 수 있지만 노드 작성자만이 가능해야한다는 것입니다 웹 양식을 제출하십시오.

나에게 아이디어를 줄 수 있습니까? 나는 붙어있다 ..


  • 답변 # 1

    이것이 Drupal 7인지 Drupal 8인지는 말하지 않았지만 이것은 D8에서 작동합니다.

    각 작성자가 이미 웹 사이트에 사용자 계정을 가지고있는 것처럼 들리므로 웹 양식의 "설정"으로 이동 한 다음 "액세스"탭 (예 :/admin/structure/webform/manage/FORM_MACHINE_NAME/access)을 클릭하십시오.

    거기에서 특정 사용자에게만 제출을 만드는 기능을 제한 할 수 있습니다.

  • 답변 # 2

    컨설팅 후 노드 작성자에게만 설명 허용 이 책 나는이 질문에 스스로 대답하려고 노력할 수 있다고 생각한다.

    사용자 정의 모듈을 만들고 hook_form_alter를 사용했습니다.

    기능은 다음과 같습니다.

    function MODULE_NAME_form_alter(&$form, $form_state, $form_id) {
    if($form['#webform_id'] == "YOUR-WEBFORM-ID"){
        $node = \Drupal::request()->attributes->get('node');
     if(!is_null($node) && $node->getOwnerId() != \Drupal::currentUser()->id()) {
         $form['#access'] = false;
     }
    }
    
    

    }

  • 이전 drupal - 왜 아무것도하지 않는 하위 테마가 부모 테마를 깨 뜨리나요?
  • 다음 drupal - 사용자를 홈페이지로 리디렉션하는 방법은 무엇입니까?