Как сделать чтобы автор не мог писать комментарии на свои материалы (вообще не было формы ввода комментария)
И чтобы не мог видеть комментарии чужих материалов?
ну это элементарно проверить текущий юзер в глобальной переменной. Текущая нода доступна где угодно, хоть в препроцессе. или menu_get_object().
Сравните uid пользователя и ноды и показывайте/не показывайте комменты.
нет, не правильно сказал , через views выводится только список материалов, а дальше как обычно, щёлкаю по названию материала, он показывается полностью + внизу комментарии, которые как раз не нужно показывать чужакам, только автору кто написал материал (а ещё лучше определённой роли, к которой привязан этот автор, т.е. например у меня есть роль 140otdel, в ней 140strelkov и 140ivanov. 140strelkov написал материал этот, он может просматривать эти комментарии, как и 140ivanov, тоже может) Вот=)
Получается что какой нибудь 120popov не может просматривать эти комментарии, как и не зарегистрированные пользователи (хотя незарегистрированных я уже сделал)
ну тогда используйте препроцесс вывода комментариев, не знаю как в D7 но в D6 что то типа THEMENAME_preprocess_comments(&$vars). В нем проверяйте юзера ноды через node_get_object и роль текущего юзера (должна быть доступна в global $user)
Комментарии
Как сделать чтобы автор не мог писать комментарии на свои материалы (вообще не было формы ввода комментария)- РЕАЛИЗОВАЛТогда как теперь сделать чтобы не мог видеть комментарии чужих материалов???
Можно попробовать с рулесами поиграться. Думаю копать в сторону action: remove item from list.
Как решил? Мож кому тоже пригодится.
А незарегеным пользователям комменты не видны?
нет, никому они не видны, кроме админа, и человека кто создал материал (автор)
при незарегенные могут писать комментарии
просто вроде есть просмотр комментариев, а нет нигде чтобы допустим смотреть комментарии только такого типа материала, или такой роли
Ну семёрка же, hide() + show() + if
я ламер в кодах, расскажите пожалуйста по подробней
Учитесь значит.
Это сооовсем не моя проблема, что вы ламер в кодах.
ммм... спасибо
может кто-нибудь, кому не сложно направить в правильно русло решения этой проблеммы
То есть зашел юзер на чужой материал и там не видит комментариев?
угу, не видит, а тот автор видит комментарии на свои же получается материалы
у вас там что социальная сеть? Комменты выводятся отдельным блоком или на странице материала снизу?
как обычно, просто список материалов, щёлкая по материалу - чтобы увидеть полностью, там показываются комментарии
ну это элементарно проверить текущий юзер в глобальной переменной. Текущая нода доступна где угодно, хоть в препроцессе. или menu_get_object().
Сравните uid пользователя и ноды и показывайте/не показывайте комменты.
Эх, где можно почитать про эти коды, где их писать и как писать?
у вас стандартный вывод нод? или используете свои панели и блоки?
выводится через Views
комменты тоже через вьюс?
нет, не правильно сказал , через views выводится только список материалов, а дальше как обычно, щёлкаю по названию материала, он показывается полностью + внизу комментарии, которые как раз не нужно показывать чужакам, только автору кто написал материал (а ещё лучше определённой роли, к которой привязан этот автор, т.е. например у меня есть роль 140otdel, в ней 140strelkov и 140ivanov. 140strelkov написал материал этот, он может просматривать эти комментарии, как и 140ivanov, тоже может) Вот=)
Получается что какой нибудь 120popov не может просматривать эти комментарии, как и не зарегистрированные пользователи (хотя незарегистрированных я уже сделал)
ну тогда используйте препроцесс вывода комментариев, не знаю как в D7 но в D6 что то типа THEMENAME_preprocess_comments(&$vars). В нем проверяйте юзера ноды через node_get_object и роль текущего юзера (должна быть доступна в global $user)