[ 'variables' => [ 'title' => NULL, 'url_title' => NULL, 'url' => NULL, 'methode' => NULL, 'event_modifiers' => NULL, ], ], ]; } /** * Prepares variables for button link field templates. * * This template outputs a separate title and link. * * Default template: link-formatter-button-link.html.twig. * * @param array $variables * An associative array containing: * - title: (optional) A descriptive or alternate title for the link, which * may be different than the actual link text. * - url_title: The anchor text for the link. * - url: A \Drupal\Core\Url object. */ function template_preprocess_link_formatter_vue_link_formatter(&$variables) { $url = $variables['url']; $attributes = $url->getOption('attributes'); $attributes['class'][] = 'btn'; $attributes['href'] = $url->toString(); $modifiers = []; foreach ($variables['event_modifiers'] as $modifier => $value) { if ($value) { $modifiers[] = $modifier; } } $attributes['@click.' . implode('.', $modifiers)] = $variables['methode']; $url->setOption('attributes', $attributes); $variables['link'] = Link::fromTextAndUrl($variables['title'], $url )->toString(); $variables['attributes'] = new Attribute($attributes); }