Комментарии во Views [Решено]

Аватар пользователя Stas2301 Stas2301 4 декабря 2014 в 21:48

Столкнулся с проблемой добавления комментариев во Views, оказалось что поля, которое добавляет список и форму отправки коммента нет, и приходится изощряться. Прошерстив интернет нашел выход, доработал слегка и хочу поделиться.

Для решения нужен модуль Views PHP. Добавляем во вьюху новое поле "Глобальный: PHP", в него следующий код:

<?php
//загружаем ноду по системному URL
$node node_load(arg(1));
//получаем подготовленные к рендеру комментарии и форму.
$viewComs comment_node_page_additions($node);
print 
drupal_render($viewComs);

//Выводим ссылки - войти или зарегистрироваться если пользователь не залогинен
global $user;
if (
$user->uid != true) {   
        print 
"<br/>
        <ul class='links inline'>
        <li class='comment_forbidden first last'><span>
        <a href='"
.base_path()."user/login?destination=node/".$node->nid."%23comment-form'>Войдите</a> или 
        <a href='"
.base_path()."user/register?destination=node/".$node->nid."%23comment-form'>зарегистрируйтесь</a>, чтобы комментировать анкету</span>
        </li>
        </ul>"
;}    
?>

Обязательно в настройках вьюхи отключайте Постраничный навигатор, иначе будет конфликтовать с пагинатором комментов.

В принципе всё должно работать.

Немного о темизации. Под каждым комментом (стандартно) появляются ссылки "Войдите и зарегистрируйтесь", что перебор. Чтобы убрать в comment.tpl.php я добавил:

 <?php if ($user->uid != false): // Убирает ссылки войдите под каждым комментом?> 
        <?php print render($content['links']); ?>    
      <?php endif; ?>

Помогал советом мне Nikit - http://www.drupal.ru/node/113588 , и тут много узнал - http://www.drupal.ru/node/91387 , использовал решение Владислав888

Комментарии