web-dev-qa-db-ja.com

ノードの作成者のみにコメントを許可する

個人プロジェクトにDrupal 8を使用しています。ノードの作成者のみがコメントを投稿できるようにしたいと思います。

手伝ってくれませんか?行き詰まっています。

1

Drupal 8バージョンはまだdevにありますが、 comment_perm モジュールを試すことができます。

コメント権限モジュールを使用すると、ユーザーロールおよびノー​​ドタイプごとにコメントを制御できます。選択したノードタイプの追加のユーザー権限がユーザーアクセスシステムに追加されるため、Drupalコアが提供する以上の制御でコメントを構成できます。

更新

私が提案できる別の解決策は hook_form_alter を使用することです。

カスタムモジュール

function YOURMODULENAME_form_alter(&$form, FormStateInterface $form_state, $form_id) {

  if($form_id == "YOUR_COMMENT_TYPE_ID"){
    $node = \Drupal::request()->attributes->get('node');
    if(!is_null($node) && $node->getOwnerId() != \Drupal::currentUser()->id()) {
      $form['#access'] = false;
    }
  }

}

1
Yuseferi