2011-02-01 73 views

回答

1

从drupal.org

hook_token_values($type, $object = NULL, $options = array()) 

采取这个函数返回占位符键阵列,以及它们的替换值。 $ type包含当前上下文 - 'node','user','global'等。$ object包含应该用作替换基础的特定节点,用户等。当$ type是您的模块可以处理的东西时,只生成并返回替换令牌。这有助于保持速度,并避免不必要的搜索替换令牌的数量很大的 。 $ options数组可以包含其他选项(确切使用是动态的,不易记录)。

例如:

function my_user_token_values($type, $object = NULL, $options = array()) { 
    if ($type == 'user') { 
    $user = $object; 
    $tokens['name']  = $user->name; 
    $tokens['mail']  = $user->mail; 
    return $tokens; 
    } 
} 
+0

注:D6,此功能取决于token.module。 Drupal 7内置了通用的标记处理,请参阅http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_tokens/7。令牌模块在那里仍然存在,但仅用于提供一个UI和额外的令牌,但它们并未成为核心。 – Berdir 2011-02-01 08:30:43