我需要在显示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');
}
答案 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。它可能有所帮助。