Есть необходимость убрать ссылку "Добавить комментарий" из анонса в ленте. Причём ссылка "Подробнее" должна остаться, а так же сама функция комментирования должна работать в штатном режиме.
Думаю, самый простой способ - поставить Display Suite и настроить анонс как нужно.
Спасибо за совет. Но ради одной ссылки ставить модуль не рационально, на мой взгляд. Уверена, что это редактируется несколькими строками кода. Находила варианты для D6 и ранее, а вот работающий с D7 пока не встретила.
Очень пригодилось, спасибо! Думал заняться этим вопросом сильно позже, как разберусь с глобальными настройками, но тут случайно нашел)
Дико извиняюсь, не силён в пхп, я правильно сократил код, чтобы это работало для всех тизеров и показывало количество каментов при их наличии?
<?phpfunction моя-тема_node_view_alter(&$build){
if ($build['#view_mode'] == 'teaser'){
// Remove "Add new comment" link unset($build['links']['comment']['#links']['comment-add']); } }?>
И почему-то в любом случае остаётся надпись "Войдите или зарегистрируйтесь, чтобы отправлять комментарии" для неавторизованных посетителей. Как её убрать?
// Remove "Add new comment" link unset($build['links']['comment']['#links']['comment-add']); // Remove "Voydite i td" link unset($build['links']['comment']['#links']['comment_forbidden']); } }?>
ничего не работает у меня.
professional responsive theme. и так всегда, сколько ни пробовал вставлять в template.php удалять кеш - никаких результатов. только css помогает
Подскажите пожалуйста, как выполнить обратную задачу? Т.е. изначально в тизере типа материала "блоги" не отображается ссылка с количеством комментариев в материале, нужно чтобы отображалась. Как это прицепить к $links?
Комментарии
Добавьте в файл
ваш_сайт/sites/all/themes/ваша_тема/style.css
это
.node .links .comment-add{display: none;}
Это просто скроет ссылку, а не отключит её вывод. Не хотелось бы подставлять такие костыли.
Думаю, самый простой способ - поставить Display Suite и настроить анонс как нужно.
Спасибо за совет. Но ради одной ссылки ставить модуль не рационально, на мой взгляд. Уверена, что это редактируется несколькими строками кода. Находила варианты для D6 и ранее, а вот работающий с D7 пока не встретила.
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']);
}
}
Большое спасибо, использовала ваш вариант. Это именно то, что я хотела найти. Всё отлично работает.
А как то же самое в восьмёрке сделать?
Очень пригодилось, спасибо! Думал заняться этим вопросом сильно позже, как разберусь с глобальными настройками, но тут случайно нашел)
Дико извиняюсь, не силён в пхп, я правильно сократил код, чтобы это работало для всех тизеров и показывало количество каментов при их наличии?
<?phpfunction моя-тема_node_view_alter(&$build){
if ($build['#view_mode'] == 'teaser'){
// Remove "Add new comment" link
unset($build['links']['comment']['#links']['comment-add']);
}
}?>
И почему-то в любом случае остаётся надпись "Войдите или зарегистрируйтесь, чтобы отправлять комментарии" для неавторизованных посетителей. Как её убрать?
О, вроде нашел, раз уж вопрос решается:
<?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']);
}
}?>
Правильно?
ничего не работает у меня.
professional responsive theme. и так всегда, сколько ни пробовал вставлять в template.php удалять кеш - никаких результатов. только css помогает
Подскажите пожалуйста, как выполнить обратную задачу? Т.е. изначально в тизере типа материала "блоги" не отображается ссылка с количеством комментариев в материале, нужно чтобы отображалась. Как это прицепить к $links?