1

この質問に簡単な答えがあれば失礼します。

私はnodereferences_urlに似た何かをするモジュールに取り組んでいます。

添付の画像で強調表示されているようなノードコンテンツ領域へのリンクをリンクに配置するために実装するDrupalフックを誰かに教えてもらえますか?

ありがとう!

ここに画像の説明を入力してください

4

1 に答える 1

0

これはhook_link()であり、次のように記述されます。

このフックにより、モジュールはDrupalの多くの部分へのリンクを追加できます。リンクは、たとえば、ノードまたはナビゲーションブロックに追加できます。

返される配列は、リンクエントリのキー付き配列である必要があります。各リンクは、2つの形式のいずれかになります。

そのフックの実装例はnode_link()で、これには次のコードが含まれています。

function node_link($type, $node = NULL, $teaser = FALSE) {
  $links = array();

  if ($type == 'node') {
    if ($teaser == 1 && $node->teaser && !empty($node->readmore)) {
      $links['node_read_more'] = array(
        'title' => t('Read more'), 
        'href' => "node/$node->nid",
        // The title attribute gets escaped when the links are processed, so
        // there is no need to escape here. 
        'attributes' => array('title' => t('Read the rest of !title.', array('!title' => $node->title))),
      );
    }
  }

  return $links;
}

これは、ノードのコンテンツがティーザーにすでに表示されているコンテンツよりも多い場合に、ノードのティーザーに「続きを読む」リンクを追加するコードです。

フックがノードとコメントに対して呼び出されていることに注意してください。ドキュメントで説明されているように、$typeパラメータには次の値を指定できます。

  • 「コメント」:表示されているコメントの下に配置されるリンク。
  • 「ノード」:表示されているノードの下に配置されるリンク。
于 2012-01-31T19:48:30.317 に答える