En utilisant Drupal 7, les modules peuvent facilement gérer des jetons similaires à [nœud: auteur: nom], où la partie du jeton après nœud: auteur fait référence à un jeton utilisateur. Différemment du module Token pour Drupal 6, le code qui dans Drupal 7 gère les jetons permet la création de jetons dynamiques. En effet, sur Drupal 7, les modules implémentant des jetons peuvent remplacer n'importe quel jeton, pas seulement les jetons qu'ils ont définis. La boucle normale utilisée dans hook_tokens () est la suivante.
foreach ($tokens as $name => $original) {
// Check the value of $name, and generate the replacement that is assigned to
// $replacements[$original].
}
En utilisant le code suivant, vous pouvez obtenir ce que vous essayez de réaliser. Cependant, les jetons ont un format spécifique, différent de celui que vous décrivez. Le code n'a pas été testé.
function mymodule_token_info() {
$type = array(
'name' => t('Anchors'),
'description' => t('Your description'),
);
return array(
'types' => array('anchor' => $type),
);
}
function mymodule_tokens($type, $tokens, array $data = array(), array $options = array()) {
$replacements = array();
$sanitize = !empty($options['sanitize']);
if ($type == 'anchor') {
foreach ($tokens as $name => $original) {
list($file, $title) = explode(':', $name);
if (!empty($title) && !empty($_GET[$title])) {
$title = $_GET[$title];
}
else {
$title = '';
}
$replacements[$original] = "<a href='$file.html'>$title</a>";
}
}
return $replacements;
}
Le remplacement des jetons est si spécifique que je ne pense pas que vous trouverez un module qui le fasse. Votre seule possibilité est un module personnalisé que vous écrivez.