Имеется свой кастомный токен
$subscriber['nearest'] = array(
'name' => t('Corresponding fukcen shit from counter module'),
'description' => t('Corresponding fukcen shit from counter module.'),
'type' => 'user',
);
return array(
'tokens' => array(
//'current-user' => $subscriber,
'current-user' => $subscriber,
),
);
}
function location_tokens($type, $tokens, array $data = array(), array $options = array()) {
$replacements = array();
if ($type == 'current-user') {
foreach ($tokens as $name => $original) {
switch($name){
case 'nearest':
$user = user_load($data['user']->uid);
$replacements[$original] = $user->field_warehouse['und']['0']['tid'];
break;
}
}
}
return $replacements;
}
В хуке токенс проверяю $type == 'current-user' - именно такой тип токенов есть в распоряжении модуля simplenews и именно там я собираюсь использовать свой токен.
В итоге я захожу в switch case 'nearest': но ожидаемых данных в массиве $data нет. нет ни $data['user'] ни $data['current-user'], есть только $data['node'] и $data['category']
Спрашивается зачем тогда указывать 'type' => 'user', в location_token_info()? Ядро не отслеживает типы данных, которые нужны токену?
Или что то другое надо указывать в type?
Комментарии
ок