0

我有一个自定义节点类型,我希望有一个使用基于list_text. 当一个人选择类型list_text时,通常可以输入可选文本的静态列表,但是,我希望这个列表是动态的,即基于 a 的结果db_query。使用 Drupal 7 的最佳方法是什么?

一个简单的说明示例:此自定义类型 X 的节点包含指向另一个节点的字段,因此每当创建 X 类型的节点时,我都想要一个包含所有其他节点的组合框。

(最好的解决方案是仅在节点创建期间显示组合框,而不再在编辑期间显示。但如果在编辑期间也显示组合框,我也可以忍受它。)

我试图options_select通过定义我自己的数据类型并相应地实现来进行自定义hook_options_list。组合框在创建过程中以正确的值显示,但是,我无法保存它。我不知道那里出了什么问题,但是在第一次提交时它会更改为不同的主题,当我再次尝试时,我得到了一个内部服务器错误。在为该字段定义全新的数据类型方面,我是否走在正确的轨道上?肯定有更简单的方法吗?

4

2 回答 2

0

你是对的,你不需要新的数据类型。这是一个关于如何做到这一点的好教程。它不是专门针对 D7 的,但我没有看到太多仍然不适用的东西。特别是在 D7 中可能有更好的方法,但如果是这样,我也很想知道:)

于 2011-01-18T04:23:33.503 回答
0

allegroconmolto链接的教程以正确的方式发送给我。感谢那。

这是更简单的方法:教程

基本上,正如我所假设的,这是一个常见问题,因此webform现在模块中包含了一个简单的解决方案。它提供了一个hook_webform_select_options_info可以用来注册回调方法的方法。每次显示 web 表单的相应选项选择时都会调用回调方法,以便您可以轻松地用 adbquery或其他任何结果填充它。像魅力一样工作,几乎不需要时间来实施。

于 2011-01-18T17:54:02.803 回答