[Решено] Убрать ссылку "Добавить комментарий" из анонса

Аватар пользователя Apelsinova Apelsinova 27 июня 2012 в 19:41

Есть необходимость убрать ссылку "Добавить комментарий" из анонса в ленте. Причём ссылка "Подробнее" должна остаться, а так же сама функция комментирования должна работать в штатном режиме.

Комментарии

Аватар пользователя DD 85 DD 85 27 июня 2012 в 19:57

Добавьте в файл
ваш_сайт/sites/all/themes/ваша_тема/style.css
это
.node .links .comment-add{display: none;}

Аватар пользователя Apelsinova Apelsinova 27 июня 2012 в 20:05

DD 85 wrote:
Добавьте в файл
ваш_сайт/sites/all/themes/ваша_тема/style.css
это
.node .links .comment-add{display: none;}

Это просто скроет ссылку, а не отключит её вывод. Не хотелось бы подставлять такие костыли.

Аватар пользователя Apelsinova Apelsinova 27 июня 2012 в 20:06

zil.arman wrote:
Думаю, самый простой способ - поставить Display Suite и настроить анонс как нужно.

Спасибо за совет. Но ради одной ссылки ставить модуль не рационально, на мой взгляд. Уверена, что это редактируется несколькими строками кода. Находила варианты для D6 и ранее, а вот работающий с D7 пока не встретила.

Аватар пользователя brutal brutal 27 июня 2012 в 21:51
1
function ваше_имя_темы_node_view_alter(&$build){

  if ($build['#view_mode'] == 'teaser' && $build['#bundle'] == 'ваш_тип_материала'){

// Remove "Add new comment" link
    unset($build['links']['comment']['#links']['comment-add']);

// Remove "Published comments" link
    unset($build['links']['comment']['#links']['comment-comments']);
  }
}

Аватар пользователя Apelsinova Apelsinova 27 июня 2012 в 21:56

brutal wrote:

function ваше_имя_темы_node_view_alter(&$build){

  if ($build['#view_mode'] == 'teaser' && $build['#bundle'] == 'ваш_тип_материала'){

// Remove "Add new comment" link
    unset($build['links']['comment']['#links']['comment-add']);

// Remove "Published comments" link
    unset($build['links']['comment']['#links']['comment-comments']);
  }
}


Большое спасибо, использовала ваш вариант. Это именно то, что я хотела найти. Всё отлично работает.

Аватар пользователя Гарик Гарик 15 февраля 2013 в 17:18

Очень пригодилось, спасибо! Думал заняться этим вопросом сильно позже, как разберусь с глобальными настройками, но тут случайно нашел)

Дико извиняюсь, не силён в пхп, я правильно сократил код, чтобы это работало для всех тизеров и показывало количество каментов при их наличии?

<?phpfunction моя-тема_node_view_alter(&$build){
 
  if ($build['#view_mode'] == 'teaser'){
 
// Remove "Add new comment" link
    unset($build['links']['comment']['#links']['comment-add']);
  }
}?>

И почему-то в любом случае остаётся надпись "Войдите или зарегистрируйтесь, чтобы отправлять комментарии" для неавторизованных посетителей. Как её убрать?

Аватар пользователя Гарик Гарик 15 февраля 2013 в 17:26

О, вроде нашел, раз уж вопрос решается:

<?phpfunction моя-тема_node_view_alter(&$build){
 
  if ($build['#view_mode'] == 'teaser'){
 
// Remove "Add new comment" link
    unset($build['links']['comment']['#links']['comment-add']);
// Remove "Voydite i td" link
    unset($build['links']['comment']['#links']['comment_forbidden']);
  }
}?>

Правильно?

Аватар пользователя tlito tlito 1 ноября 2014 в 9:43

ничего не работает у меня.
professional responsive theme. и так всегда, сколько ни пробовал вставлять в template.php удалять кеш - никаких результатов. только css помогает

Аватар пользователя asdg asdg 8 ноября 2016 в 15:20

Подскажите пожалуйста, как выполнить обратную задачу? Т.е. изначально в тизере типа материала "блоги" не отображается ссылка с количеством комментариев в материале, нужно чтобы отображалась. Как это прицепить к $links?