[РЕШЕНО]Разрешить только автору ноды добавлять комментарии к ней

6 августа 2013 в 11:43

Привет всем, я хочу сделать возможность подписки на новости внутри ноды, нода - это ремонтная бригада которая добавляет новости. Я решил сделать с помощью комментариев т.к. флаг в этом случае не подошел. Всё казалось бы хорошо, можно добавить нужные мне поля в форму комментариев и установить модуль Node notify который и даст возможность подписки на ноду. Но тут вопрос я даю возможность добавлять комментарий не автору ноды а целой роли, а мне необходимо ограничить добавление комментария и сделать возможно добавления только автору ноды. анонимы и все остальные могут только просматривать и подписываться.

Комментарии

Через hook_form_alter добавить валидатор и скрыть форму если её смотрит не автор ноды (оставить только подписку), в валидаторе тоже самое если не автор то постить нельзя, можно только подписаться.

6 августа 2013 в 13:22

Решил по принципу как выше в комменте описано:

<?php
function comment_author_form_comment_form_alter(&$form, &$form_state, &$form_id){
//dsm($form);
 global $user;
 //dsm($user);
   if ($form['#node']->uid != $user->uid && $user->uid != 1) {
    // Form alter here to unset comment form
    $form['#access'] = FALSE;
        }
  }?>
7 августа 2013 в 15:20

"Timurbek" wrote:
добавить нужные мне поля в форму - как реализовали?

На странице типа материала есть вкладки Поля комментариев, Отображения комментариев. По умолчанию уже можно

8 августа 2013 в 0:27

сделал модуль, добавил этот код НО НЕ ЗАРАБОТАЛО. Только мне надо наоборот - запретить комментировать свою ноду.

10 октября 2013 в 21:07

Pilotsamoleta wrote:
сделал модуль, добавил этот код НО НЕ ЗАРАБОТАЛО. Только мне надо наоборот - запретить комментировать свою ноду.

<?php
function comment_author_form_comment_form_alter(&$form, &$form_state, &$form_id){
//dsm($form);
global $user;
//dsm($user);
if ($form['#node']->uid == $user->uid && $user->uid != 1) {
// Form alter here to unset comment form
$form['#access'] = FALSE;
}
}?>
в вашем случае так должно быть, проверка если юзер автор ноды тогда ему скрывается форма комментирования

11 октября 2013 в 12:43

"iNFerNo" wrote:
это название модуля или тут еще название формы комментов спряталось7

ну так hook_form_FORMID_alter

11 октября 2013 в 13:09