drupal将用户引用字段添加到模板

时间:2011-02-26 19:26:36

标签: php drupal cck drupal-fapi

我有一个模板文件,我想打印一个cck用户参考表单字段。

这可能吗?注意,这不是字段值,而是字段形式。还要求只是字段,不首先创建表单然后使用drupal_get_form()

谢谢!

编辑:如果这不可能也没关系,我只想知道

Edit2:我只需要自动完成机制,这样我就可以通过搜索用户名来获取js中的uid

1 个答案:

答案 0 :(得分:1)

如果您只需要自动完成机制,我会让您使用jQuery自动完成插件 - http://docs.jquery.com/Plugins/autocomplete

你可以在模板中输出类似的内容:

print '<input type="text" id="user-autocomplete">';

然后在javascript代码中

$(document).ready('function(){
  $('#user-autocomplete').autocomplete(some-ajax-url-here)
}');

您还需要在模块中的某处创建一个ajax回调页面:

function YOUR_MODULE_NAME_menu(){
   $items = array();
   $items['user-autocomplete-ajax-page'] = array(
     'title' => 'AJAX:get user',
     'page callback' => 'get_user'
   );
}
function get_user(){
  $sql = 'SELECT uid, name FROM {users} WHERE name LIKE ("%s")';
  $result = db_query($sql,$_GET['request']);
  $res_str = '';
  while($object = db_fetch_object($result)){
    $res_str .= $object->name.' ['.$object->uid."]\n";
  }
  print $res_str;
}

我没有测试代码,但我想它应该可行,可能会有一些小的改动。