1

在显示 Drupal 表单之前,我需要显示一些自定义 HTML/处理代码。如何返回自定义 HTML 和表单?我的代码是:

function myfunction() {
    global $base_path, $base_url;
    $output = ""; // Clear the variable, just in case
    include ('includes/SOME_HTML_OUTPUT.inc');
    return $output; //NOT GOING TO WORK
    return drupal_get_form('my_form');
}
4

3 回答 3

5

做你想做的事情的正确方法是:

function myfunction() {
  $output = theme('your_theme_function'); // Create your custom markup.
  $output .= drupal_get_form('my_form'); // Create the form markup.
  return $output;
}

您的主题功能应该处理创建您的自定义标记。它可以使用 php 函数或使用模板和预处理函数来完成。

上述方法的美妙之处在于您可以连接到 Drupal 主题系统并获得它的灵活性。如果设计师想要更改 HTML,他可以像往常一样做。当您使用 Drupal 主题系统时,您还可以获得添加模板建议和其他好处的能力。

在您的特定情况下,您可能知道您需要 Drupal 提供的所有这些好东西,但您仍然应该养成这样的编码习惯。它将使您的模块更加灵活。此外,如果您想以模块的形式在 drupal.org 上贡献一些东西,如果您希望您的模块可供其他人使用,那么这样的编码是绝对必须的。

于 2010-08-15T14:23:07.697 回答
0

what does the drupal_get_form() function output? just html?

you could do this: return $output.drupal_get_form('my_form');

????

于 2010-08-15T09:49:46.157 回答
0

请澄清你的问题。

包括/SOME_HTML_OUTPUT.inc应该产生吗$outputinclude/SOME_HTML_OUTPUT.inc到底放在哪里?

并查看module_load_include API。它可能会有所帮助。

于 2010-08-15T13:00:44.173 回答