我对Hooks有疑问。作为Drupal的新手,我没有太多关于钩子的经验,但是我的一个朋友建议熟悉它并学习它来解决我网站上的一个问题。
问题是,我有一个模块 fbconnect ,我用它来通过Facebook连接并在我的网站上使用他们在Facebook上的个人资料图片。
一切正常,我有两个复选框,连接和配置文件图像效果很好,但问题是在两个复选框之上我想要一个描述性文本出现。 到目前为止,我唯一要写入此文本的方法是在第一个复选框中创建一个“描述”字段。不幸的是,它选择在复选框下方显示此文本,所以现在看起来有点奇怪,有一个复选框,整个Facebook功能的3-4行描述性文本,然后是另一个复选框。
如果 hooks 是解决此问题的正确方法,我该如何实际操作以及在哪里插入钩子?我可以想象这是我需要的 hook_form_alter 函数,在我的fbconnect模块中,函数 fbconnect_form_alter 存在,但是我从这里开始我真的不知道。
我试过阅读并看到一些关于钩子的说明视频,但我仍然对Drupal中这个看起来非常好的功能感到困惑。 我在这个网站上使用Drupal 6。
非常感谢任何帮助或建议。
答案 0 :(得分:0)
听起来您可能还需要查看Drupal中的主题系统。特别要看一下theme_checkbox。从代码中瞥见,似乎有一个标签在实际复选框后呈现。在自定义主题功能或主题文件中,您可以尝试更改两者的顺序。
答案 1 :(得分:0)
在drupal中,“钩子”是与某段代码进行交互的方式。
你有一个hook_bar()钩子,你的模块名为'foo'实现foo_bar(),然后执行这个函数。
在您的情况下,您需要创建一个模块,并实现hook_form_alter()
您可以找到一个教程there,向您展示如何添加复选框。如果您需要添加一些文字,可以使用相同的方法,除了不添加复选框,当然,您只需添加textfield
答案 2 :(得分:0)
这是一个很棒的初学者关于添加自定义钩子的视频,其中包含来自Drupalcon Chicago 2011的hook_form_alter示例,这对于这种情况非常适合,并希望能帮到您。作为Drupal的新手,它确实帮助了我,我强烈建议您观看其他视频。感谢drupal社区发布这些内容。
http://chicago2011.drupal.org/sessions/introduction-module-development