Drupal 7을 사용하면 모듈은 [node : author : name]과 유사한 토큰을 쉽게 처리 할 수 있습니다. 여기서 node : author 뒤의 토큰 부분은 사용자 토큰을 나타냅니다. Drupal 6의 토큰 모듈과 달리 Drupal 7의 토큰을 처리하는 코드는 동적 토큰을 생성 할 수 있습니다. Drupal 7에서는 토큰을 구현하는 모듈이 정의한 토큰뿐만 아니라 모든 토큰을 대체 할 수 있기 때문입니다. hook_tokens ()에 사용되는 일반적인 루프 는 다음과 같습니다.
foreach ($tokens as $name => $original) {
// Check the value of $name, and generate the replacement that is assigned to
// $replacements[$original].
}
다음 코드를 사용하면 달성하려는 것을 얻을 수 있습니다. 토큰은 특정 형식을 가지고 있지만 설명하는 형식과 다릅니다. 코드는 테스트되지 않았습니다.
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;
}
토큰 교체는 매우 구체적이므로 그렇게하는 모듈을 찾지 못할 것입니다. 유일하게 작성하는 것은 사용자 정의 모듈입니다.