あなたが望むものの正確な詳細については少し曖昧ですが、基本的な前提は実際には非常に単純です.
次のような、いくつかのトークンを定義するだけのカスタム モジュールを作成します。
/**
* Implements hook_theme().
*/
function my_module_theme() {
return array(
'my_module' => array(
'arguments' => array('object' => NULL)
),
);
}
/**
* Implements hook_token_list().
*/
function my_module_token_list($type = 'all') {
if ($type == 'node' || $type == 'all') {
$tokens = array();
$tokens['my_module']['table-TABLE-ID'] = t('description').
return $tokens;
}
}
/**
* Implements hook_token_values().
*/
function my_module_token_values($type, $object = NULL) {
if ($type == 'node') {
($table, $id) = explode('-', $object->my_field['value']);
$tokens['table-' . $object->my_field['value']] = theme('my_module', db_fetch_object(db_query("SELECT * FROM {" . $table . "} WHERE id = %d", $id)));
return $tokens;
}
}
function theme_my_module($object) {
return '<div>' . $object->content . '</div>';
}
注:このコードはすべて理論上のものであり、機能しないと断言できます。ここで行った方法で db_query を実行することも非常に安全ではありません (これはあなたが望んでいたことの私の解釈でした)。等)。
これが多少役立つことを願っています。