【问题标题】:Drupal Hooks (hook_form_alter)Drupal 钩子 (hook_form_alter)
【发布时间】:2011-03-16 16:55:24
【问题描述】:

我有一个关于 Hooks 的问题。作为 Drupal 的新手,我对钩子没有太多经验,但我的一个朋友建议熟悉它并学习它以解决我网站上的一个问题。

问题是,我有一个模块 fbconnect 供用户通过 Facebook 连接并在我的网站上使用他们在 Facebook 上的个人资料图片。

一切正常,我有两个复选框,连接和个人资料图像效果很好,但问题是我希望在两个复选框上方显示描述性文本。 到目前为止,我必须输入此文本的唯一方法是为第一个复选框创建一个“描述”字段。不幸的是,它选择在复选框下方显示此文本,所以现在它看起来有点奇怪,一个复选框,一个 3-4 行的整个 Facebook 功能的描述性文本,然后是另一个复选框。

如果 钩子 是解决此问题的正确方法,我该如何做以及实际在哪里插入钩子?我可以想象它是我需要的 hook_form_alter 函数,并且在我的 fbconnect 模块中存在 fbconnect_form_alter 函数,但是我真的不知道从哪里开始。 p>

我尝试阅读并查看一些有关钩子的说明视频,但我仍然对 Drupal 中这个显然非常好的功能感到困惑。 我在这个网站上使用 Drupal 6。

非常感谢任何帮助或建议。

【问题讨论】:

    标签: drupal drupal-6 hook fbconnect


    【解决方案1】:

    听起来您可能还需要查看 Drupal 中的 主题 系统。特别是,看看theme_checkbox。看一眼代码,似乎在实际复选框之后呈现了一个标签。在您的自定义主题函数或主题文件中,您可以尝试更改两者的顺序。

    【讨论】:

      【解决方案2】:

      在 drupal 中,“钩子”是与某些代码交互的方式。

      在你有一个 hook_bar() 钩子,并且你的名为 'foo' 的模块是否实现了 foo_bar(),那么这个函数就会被执行。

      在你的情况下,你需要创建一个模块,并实现 hook_form_alter()

      您可以找到一个教程there,向您展示如何添加复选框。如果你需要添加一些文本,你可以使用相同的方法,除了不是添加一个复选框,当然你只需添加一个textfield

      【讨论】:

        【解决方案3】:

        这是一个很棒的初学者视频,它以 2011 年 Drupalcon Chicago 的 hook_form_alter 示例添加自定义钩子,非常适合这种情况,希望能在这方面对您有所帮助。作为 Drupal 的新手,它肯定对我有所帮助,我强烈建议您观看其他视频。感谢 drupal 社区发布这些内容。

        http://chicago2011.drupal.org/sessions/introduction-module-development

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多