Как мне найти правильный плагин?


Как разработчик Drupal 7, я в настоящее время пытаюсь попасть в Drupal 8. У меня проблема с поиском подходящего плагина.

Например, я просто хочу изменить текст ссылки на узел "подробнее" на "подробнее >".

Оставив шаблоны, я бы поискал в Google для Drupal 7 что-то вроде "крючок drupal - что я хочу - изменить" и нашел правильный крючок. Как я могу найти правильный плагин?

Специально для этого случая есть hook_node_links_alter(). Должен Я использую это, или это просто для наследия, и я должен предпочесть другой способ?

 2
Author: kiamlaluno, 2016-05-06

1 answers

В конкретном примере, который вы приводите, плагины не задействованы. Крючок вызывается из nodeviewbuilder::renderlinks(), который выполняет следующий код.

  $links = array(
    '#theme' => 'links__node',
    '#pre_render' => array('drupal_pre_render_links'),
    '#attributes' => array('class' => array('links', 'inline')),
  );

  if (!$is_in_preview) {
    $entity = Node::load($node_entity_id)->getTranslation($langcode);
    $links['node'] = static::buildLinks($entity, $view_mode);

    // Allow other modules to alter the node links.
    $hook_context = array(
      'view_mode' => $view_mode,
      'langcode' => $langcode,
    );
    \Drupal::moduleHandler()->alter('node_links', $links, $entity, $hook_context);
  }
  return $links;

Чтобы узнать, задействован ли плагин, вам нужно прочитать документацию. API плагинов в Drupal 8 приведите общую документацию, но затем вам нужно прочитать более конкретные страницы документации, например Блокировать API в Drupal 8.
Плагин может быть аннотирован, поэтому в некоторых случаях вы можете найдите любой плагин, реализованный ядром Drupal, просмотрев классы, аннотированные определенным классом, что происходит с элементами ввода формы, которые являются классами, аннотированными \Drupal\Core\Render\Annotation\FormElement. На странице документации приведен список классов, помеченных этим классом Annotation, поэтому вы можете найти любые плагины этого типа.

Затем, как сказал @Clive, если вам просто интересно, следует ли использовать крючок, просто посмотрите на страницу документации для этого крючка: если это было устаревшая документация сообщает об этом и сообщает вам, что именно вы должны использовать: другой хук, плагин, определенный класс.
Также, как сказано из @mradcliffe, записи изменений сообщают об изменениях, внесенных в Drupal, и для какой версии. Они полезны, если вы хотите посмотреть на изменения, которые могут заинтересовать код, который вы пишете.

 1
Author: kiamlaluno, 2017-04-13 12:47:05