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

drupal_get_form()関数は何を出力しますか?ただhtml?

あなたはこれを行うことができます: return $output.drupal_get_form('my_form');

????

于 2010-08-15T09:49:46.157 に答える
0

質問を明確にしてください。

include / SOME_HTML_OUTPUT.incは生成する必要があり$outputますか?include / SOME_HTML_OUTPUT.incは正確にどこに配置されますか?

module_load_includeAPIを見てください。それは役立つかもしれません。

于 2010-08-15T13:00:44.173 に答える