自定义在Drupal中显示CCK节点参考字段的方式

时间:2010-02-09 14:49:09

标签: drupal cck

Drupal中的节点引用字段默认显示为列表。有没有办法改变它?

我想将它们输出为JSON,这样我就可以创建一个精美的JavaScript可视化。

3 个答案:

答案 0 :(得分:1)

您可以通过两种方式对其进行修改:通过带有函数hook_form_alter的自定义模块或通过主题(预处理表单或模板形式)进行修改。
http://api.drupal.org/api/function/hook_form_alter/6
http://www.lullabot.com/articles/modifying-forms-drupal-5-and-6

对于AHAH:http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#ahah
此外,nodereference在自定义节点类型的字段编辑中已经几乎没有ahah:“autocomplete”。

答案 1 :(得分:1)

考虑Content Templates (Contemplate)模块。这是关于它的引用(来自模块的项目页面):

  

...允许使用管理员定义的模板修改Drupal的预告片和正文字段。这些模板使用PHP代码,并且所有节点对象变量都可以在模板中使用。将显示一个示例节点对象,它就像单击其属性以将其添加到当前模板一样简单。

     

本模块旨在解决内容构建工具包(CCK)的需求,它倾向于以非常漂亮的方式输出内容。因此,它与CCK很好地吻合,为CCK内容类型编辑页面添加了“模板”选项卡,并使用CCK的默认布局预先填充模板。这样可以轻松重新排列字段,为预告片和正文输出不同的字段,删除字段标题标题,包含用于tabs.module(JSTools的一部分)的输出字段,或者您需要的任何内容。

     

但是内容模板实际上可以在任何节点类型上使用,并允许修改预告片和正文属性,然后再将它们发送到RSS源,搜索索引或传递给主题。此外,ConTemplate可以选择将任何文件,图像或其他媒体作为附件添加到RSS源。

     

模板通常存储在数据库中,但也可以创建位于站点目录中的基于磁盘的模板,并且可以像主题或模块一样在多站点安装中继承模板。

答案 2 :(得分:0)

尝试使用Custom Formatters模块,只需创建一个自定义格式化程序即可完全按照您的需要呈现节点,然后将格式化程序输出到代码或部署功能。