0

フォームと結果を同じページに表示するページを drupal で正常に作成しました。フォームは、結果のフィルターのように機能します。結果には、Chart API モジュール ( http://drupal.org/project/chart )を介した Google チャートを含む html の束が含まれます。結果は、マークアップ フォーム要素を介してフォームに含まれます (ここでのeatonのコメントから得ました: Drupal: How to Render Results of Form on Same Page as Form )。

フォーム API の範囲外 (ページ コールバック関数など) のフォーム結果にアクセスできないため、実際に結果のテーマを設定することはできません。複雑な結果をフォームと同じページに配置し、結果をテーマ化する方法はありますか? また、フォームの結果を同じページに表示するためのより良い方法はありますか?

4

2 に答える 2

0

drupal のすべてがテーマ可能です。これは、drupal を素晴らしいものにするもう 1 つのことです。これを行うには、hook_theme() を使用して、使用するテーマ テンプレートと、テーマ ファイルに渡したいパラメータをここで設定します。あなたはそのようにテーマを書くでしょう

function MYMODULE_theme{
  return array(
    'theme_name'=>array(
      'arguments'=>array('parameters'=>NULL)
      'path'=>'path_to_theme_file',
      'theme'=>'template_name'
    ),
  );
}

次に、投稿で提案されているように、パラメーターを使用できる場所ならどこでもこのテーマを呼び出すことができます。theme('theme_name', $parameters);

于 2010-12-16T05:12:51.293 に答える
0

これに対するあなたの解決策に興味があります。Views と Exposed Filters を使用して、非常によく似たサウンドを実現しました。ビューとフォームの両方の結果をテーマにすることは、drupal で行うべき非常に単純で標準的なタイプのものでした。例: views-exposed-form-form_name.tpl.php および views-view-view_name.tpl.php。フォームもhook_form_alterで変更可能です。

于 2010-12-16T05:21:50.897 に答える