public function MatcherTokensTrait::insertTokenList in Linkit 8.5
Same name and namespace in other branches
- 8.4 src/MatcherTokensTrait.php \Drupal\linkit\MatcherTokensTrait::insertTokenList()
Inserts a form element with a list of available tokens.
Parameters
array $form: The form array to append the token list to.
array $types: An array of token types to use.
2 calls to MatcherTokensTrait::insertTokenList()
- EntityMatcher::buildConfigurationForm in src/
Plugin/ Linkit/ Matcher/ EntityMatcher.php - Form constructor.
- TermMatcher::buildConfigurationForm in src/
Plugin/ Linkit/ Matcher/ TermMatcher.php - Form constructor.
File
- src/
MatcherTokensTrait.php, line 18
Class
- MatcherTokensTrait
- Provides friendly methods for matchers using tokens.
Namespace
Drupal\linkitCode
public function insertTokenList(array &$form, array $types = []) {
if (\Drupal::moduleHandler()
->moduleExists('token')) {
// Add the token tree UI.
$form['metadata']['token_tree'] = [
'#theme' => 'token_tree_link',
'#token_types' => $types,
'#dialog' => TRUE,
'#weight' => 10,
];
}
else {
$token_items = [];
foreach ($this
->getAvailableTokens($types) as $type => $tokens) {
foreach ($tokens as $name => $info) {
$token_description = !empty($info['description']) ? $info['description'] : '';
$token_items[$type . ':' . $name] = "[{$type}:{$name}]" . ' - ' . $info['name'] . ': ' . $token_description;
}
}
if (count($token_items)) {
$form['metadata']['tokens'] = [
'#type' => 'details',
'#title' => t('Available tokens'),
'#weight' => 10,
];
$form['metadata']['tokens']['list'] = [
'#theme' => 'item_list',
'#items' => $token_items,
];
}
}
}