Выяснить, какой крючок использовать - PullRequest
0 голосов
/ 31 января 2012

Пожалуйста, извините, если на этот вопрос есть простой ответ.

Я работаю над модулем, который делает что-то похожее на nodereferences_url.

Может кто-нибудь сказать мне, какой хук Drupal реализовать для размещенияссылка в ссылке в области содержимого узла, как это выделено на прикрепленном изображении?

Спасибо!

enter image description here

1 Ответ

0 голосов
/ 31 января 2012

Это hook_link () , который описывается как:

Этот хук позволяет модулям добавлять ссылки на многие части Drupal. Ссылки могут быть добавлены в узлах или в блоке навигации, например.

Возвращаемый массив должен быть массивом записей ссылок. Каждая ссылка может быть в одном из двух форматов.

Примером реализации этой ловушки является 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 может иметь следующие значения:

  • "комментарий": ссылки, размещаемые ниже просматриваемого комментария.
  • "узел": ссылки, размещаемые ниже просматриваемого узла.
...