web-dev-qa-db-ja.com

コメントの「返信」リンクを削除するにはどうすればよいですか?

現在、comment.tpl.phpファイルで次のコード行を使用しています。

<?php print render($content['links']) ?>

これにより[返信]リンクも印刷されますが、削除します。どうやってやるの?


注: CSSを使用して[返信]リンクを非表示にすることができますが、それはあまり良い解決策ではありません。

2
Jeroen

すべてのリンクを削除したい場合は、次のようなテンプレートファイルで削除できます。

hide($content['links']);
print render($content);

しかし、このようにコメントの返信リンクだけを非表示にする方法がわかりません。短い記事 here に基づいて、次のようにtemplate.phpのプリプロセス関数を使用して返信リンクを設定解除できるようです:

function themename_preprocess_comment(&$variables) {
  unset($variables['content']['links']['comment']['#links']['comment-reply']);
}
4
Dave Bruns

各コンテンツタイプの_comment settings_を変更することで、この動作を変更できるはずです。これは、_admin/structure/types/manage/<your-content-type>_に移動し、下にスクロールして、左側のメニューの_comment settings_をクリックすることで実行できます。次に、設定フォームで_Show reply form on the same page as comments_の横にあるボックスをオフにします。

Comment Settings

上記は機能していないようですが、小さなモジュールを簡単に作成してhook_comment_view()を実装することができます。

_function <YOURMODULE>_comment_view($comment, $view_mode, $langcode) {
  unset($comment->content['links']['comment']['#links']['comment-reply']); 
}
_
2
Cyclonecode