任意のコメントへのディープリンクを作成して印刷する必要があります。ユーザーがリンクをクリックするだけで特定のコメントに直接アクセスできるようにします。これを取得するためのネイティブのdrupal関数が見つからなかったので、自分で作成しました。
私の解決策
<?php
global $base_url;
$base = drupal_lookup_path('alias',"node/".$node->nid);
$path = $base_url.'/'.$base.'#comment-'.$comment->cid;
$link_options = array('html'=> $html);
$commentlink = l($date, $path, $link_options);
?>
リンクを印刷するには、を呼び出すだけ<?php print $commentlink;?>
です。しかし、問題を解決する方法のように、より優れた、はるかに複雑な方法があると確信しています。
より良い方法
マイクカーはそれをしました:)彼がここで提案したように解決策があります。
<?php
$commentlink = l(
$date,
"node/$comment->nid",
array("fragment" => "comment-$comment->cid"));
?>
Mikekerと私のバージョンのわずかな違いに注意してください。array("fragment" => "comment-$comment->cid"));
とarray("query" => "comment-$comment->cid"));
?
クエリパラメータはURLにを追加します。だからあなたの道は次のようになります
//…query
http://example.com/path/to/node?comment-2
私の解決策(フラグメント)とは反対に:
//…fragment
http://example.com/path/to/node#comment-2
注: フラグメント識別子の先頭に「#」文字を含めないでください。drupalによって追加されます。