Расширить стандартный набор токенов очень просто. Это необходимо, если вам нужно как-то необычно формировать алиас материала.
Для начала
создайте модуль.
Для начала в нём необходимо объявить hook_token_info. Он будет возвращать названия токенов, их описания и машинное имя токена.
function my_module_token_info() {
$info['tokens']['node']['my_new_token'] = array( 'name' => t('My node token'),
'description' => t('New custome node token'),
);
return $info;
}
Я объявил новый токен, с машинным именем my_new_token. Он будет находиться в разделе ноды и ему будет доступен объект ноды.
Далее воспользуйтесь хуком hook_tokens, для того чтобы токен с именем my_new_token превратился в алиас материала.
if ($type == 'node') {
$node = $data['node'];
foreach ($tokens as $name => $original) {
if ($name == 'my_new_token') {
// Тут можно брать любые данные из объекта ноды.
// Или вообще подгружать данные откуда угодно.
$replacements[$original] = 'замена токена на алиас';
}
}
}
return $replacements;
}
После этого в настройках автоматических адресов будет доступен ваш новый токен.