Mit Drupal 7 können Module problemlos Token verarbeiten, die [node: author: name] ähneln, wobei sich der Teil des Tokens nach node: author auf ein Benutzertoken bezieht. Anders als beim Token-Modul für Drupal 6 ermöglicht der Code, der in Drupal 7 die Token verarbeitet, die Erstellung dynamischer Token. Dies liegt daran, dass in Drupal 7 Module, die Token implementieren, jedes Token ersetzen können, nicht nur die von ihnen definierten Token. Die in hook_tokens () verwendete normale Schleife ist die folgende.
foreach ($tokens as $name => $original) {
// Check the value of $name, and generate the replacement that is assigned to
// $replacements[$original].
}
Mit dem folgenden Code können Sie das erreichen, was Sie erreichen möchten. Tokens haben ein bestimmtes Format, das sich jedoch von dem von Ihnen beschriebenen unterscheidet. Der Code wurde nicht getestet.
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;
}
Der Ersatz für die Token ist so spezifisch, dass ich nicht glaube, dass Sie ein Modul finden werden, das dies tut. Ihre einzige Möglichkeit ist ein benutzerdefiniertes Modul, das Sie schreiben.