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

发布于 2024-10-19 15:40:27 字数 197 浏览 2 评论 0原文

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

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

谢谢!

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

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

I have a template file that I want to print a the cck user reference form field on.

Is this possible? Note, this is not the field value, but the field form. Also asking for just the field, not creating a form first and then using drupal_get_form()

Thanks!

Edit: If this is not possible that's fine too, I just would like to know

Edit2: i just need the autocomplete mechanism so I can grab the uid in js from searching for the username

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

儭儭莪哋寶赑 2024-10-26 15:40:27

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

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

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;
}

我没有测试代码,但我想它应该可以工作,可能有一些小问题变化。

If you just need autocomplete mechanism I would suject you to use jQuery autocomplete plugin - http://docs.jquery.com/Plugins/autocomplete.

you can just output in the template something like that:

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

Then in javascript code

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

you also will need to create an ajax callback page somewhere in your module:

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;
}

I didn't test the code, but I guess it should work, may be with some minor changes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文