Menggunakan Drupal 7, modul dapat dengan mudah menangani token yang mirip dengan [simpul: penulis: nama], di mana bagian token setelah simpul: penulis merujuk ke token pengguna. Berbeda dengan modul Token untuk Drupal 6, kode yang dalam Drupal 7 menangani token memungkinkan pembuatan token dinamis. Ini karena pada Drupal 7, modul yang menerapkan token dapat mengganti token apa pun, bukan hanya token yang mereka tetapkan. Loop normal yang digunakan dalam hook_tokens () adalah yang berikut.
foreach ($tokens as $name => $original) {
// Check the value of $name, and generate the replacement that is assigned to
// $replacements[$original].
}
Dengan menggunakan kode berikut, Anda bisa mendapatkan apa yang ingin Anda capai. Token memiliki format tertentu, yang berbeda dari yang Anda gambarkan. Kode belum diuji.
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;
}
Penggantian token sangat spesifik sehingga saya tidak berpikir Anda akan menemukan modul yang melakukan itu. Satu-satunya kemungkinan Anda adalah modul khusus yang Anda tulis.