需要在表单返回之前添加一些自定义HTML。如何?

时间:2010-08-15 09:43:34

标签: drupal drupal-6 drupal-fapi

我需要在显示Drupal表单之前显示一些自定义HTML / Processing代码。如何返回自定义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');
}

3 个答案:

答案 0 :(得分: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上以模块的形式贡献一些东西,如果你希望你的模块可以被其他人使用,那么这样的编码绝对是必须的。

答案 1 :(得分:0)

drupal_get_form()函数输出了什么?只是HTML?

你可以这样做: return $output.drupal_get_form('my_form');

????

答案 2 :(得分:0)

请澄清你的问题。

执行包含/ SOME_HTML_OUTPUT.inc 应该生成$output吗? 包含/ SOME_HTML_OUTPUT.inc 的确切位置在哪里?

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