【问题标题】:Need to add some custom HTML before a form gets returned..How?需要在返回表单之前添加一些自定义 HTML。如何?
【发布时间】:2010-08-15 09:43:33
【问题描述】:

在显示 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');
}

【问题讨论】:

    标签: drupal drupal-6 drupal-fapi


    【解决方案1】:

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

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

    【讨论】:

    • 像往常一样,您的回答非常彻底和详细。谢谢。
    【解决方案2】:

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

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

    ??????

    【讨论】:

    • 这实际上会起作用,但在 Drupal 中这样做是一种根本错误的方式。
    • @googletorp,更具体一点。 为什么这样做是不对的?
    【解决方案3】:

    请澄清您的问题。

    includes/SOME_HTML_OUTPUT.inc 应该产生$output 吗? includes/SOME_HTML_OUTPUT.inc 究竟放在哪里?

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

    【讨论】:

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