Как мне найти правильный плагин?
Как разработчик Drupal 7, я в настоящее время пытаюсь попасть в Drupal 8. У меня проблема с поиском подходящего плагина.
Например, я просто хочу изменить текст ссылки на узел "подробнее" на "подробнее >".
Оставив шаблоны, я бы поискал в Google для Drupal 7 что-то вроде "крючок drupal - что я хочу - изменить" и нашел правильный крючок. Как я могу найти правильный плагин?
Специально для этого случая есть hook_node_links_alter()
. Должен Я использую это, или это просто для наследия, и я должен предпочесть другой способ?
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, и для какой версии. Они полезны, если вы хотите посмотреть на изменения, которые могут заинтересовать код, который вы пишете.