我有一个数据表,其中填充了与drupal内容无关的数据(来自第三方系统) . 该数据涉及必须被批准/标记为不合适的照片 .
所以我正在写一个Drupal管理模块,它应该调整这个内容 . 到目前为止,我已经使用主题('table',...)构建了一个表,每行显示1张照片,以及其他一些元数据 . 我现在想在表中包含一些表单按钮,并构建一些由这些按钮触发的Ajax操作 .
这篇文章看起来很相似http://drupal.org/node/112358但我是Drupal 6做事的方式 .
任何人都可以就如何最好地解决这个问题提供一些建议 - 最好使用核心模块/表单覆盖功能 . Drupal版本是6.14 .
3 回答
自定义主题功能允许您以完全自定义的方式呈现内容 . 您还可以为内容创建自定义模板,其中可能包括按钮 .
hook_theme()将允许您创建自己的内容类型以添加到主题功能,以便您可以
theme('moderatedimages')
.解决方法是将中等按钮的HTML放入表数据中,以便通过主题表输出 . 这将节省您必须编写自己的主题功能 .
对于AJAX调用,您需要使用hook_menu()和自定义函数构建自己的菜单回调 . (代码片段来自this教程 . )
这将调用函数
mymodule_myfunction()
. 关于此功能需要记住的一件事是您要打印结果并退出 . 您可能希望使用drupal_json()
对响应进行编码 .为什么使用标准的theme_table()函数?只需创建自己的主题功能,其中包含您需要的表单元素 . 更多关于主题函数here和here .
我有同样的问题 . 我在drupal-directory / modules / menu / menu.admin.inc中找到了解决方案 . Form-API和主题仅供使用!
实现: - 使用scheme-api编写你的查询(我认为你已经为你的主题('table',...)做了) - 为每一行创建一个这样的表单:$ form [$ row-> id] [ 'column_name_1'] = array(...这里列的描述 - >复选框,textfield ...); $ form [$ row-> id] ['column_name_2'] = array(...); - 写你自己的主题 - funktion,女巫使用hook_theme_table(你已经做过了,你只需要将一些单元格改成复选框或其他表单元素 . )
我现在写一个提交函数,但它不起作用:-)有关更多信息,请参阅菜单模块 .
我的代码:
}
/ ** * hook_theme()的实现 . * / function mymodule_theme(){
返回数组('mymodule_event_type_overview_form' => array('arguments' => array(),),); }
玩得开心:-) Katja