0

私は2つの値を計算するフォームを持っていますが、フォームは完全に機能しますが、2つの値を計算し、レンダリングされたHTMLとして回答を返す方法を理解するのに問題があります。これにより、ユーザーが見やすいようにすべてのスタイルを整えることができます。 。

すべての助けは大いに感謝されます。ありがとう。

4

2 に答える 2

0

必要なメッセージだけの場合は、drupal_set_messageを調べる必要があります。次のようなメッセージを設定できます。

drupal_set_message(t('Hello, world.'),'myClass');

次のようなHTMLを出力します。

<div class="messages myClass">Hello, world</div>

これは、フォームが送信されたときにユーザーに表示されるメッセージを設定するための非常に簡単な方法です。もう少し高度なものが必要な場合は、ここで私の答えを調べこのDrupalの答えをここで調べてください。

于 2012-12-06T22:11:33.640 に答える
0

Drupalフォームには、フォームを作成するために通常必要な3種類のコールバックがあります。

  • フォームビルダーは、フォームAPIが理解する配列を使用してフォームをビルドする関数です。
  • フォーム検証ハンドラーは、ユーザーから送信された値を検証する関数です。
  • フォーム送信ハンドラーは、ユーザーから送信された値に基づいて機能する関数です。

これらの関数のうち、ユーザーから送信された値に対して行われた計算の結果を出力する関数が最後の関数です。通常、フォーム送信ハンドラーはデータをデータベースに保存し、drupal_set_message()を介してユーザーにメッセージを表示しますが、入力されたデータに対して実行された操作の結果を表示することもできます。

Drupal 7以降、フォーム送信ハンドラーの出力、およびメニューコールバックから生成された出力は、文字列ではなくレンダリング配列にすることができます。レンダリング配列には、 hook_page_build()またはhook_page_alter( )を介してサードパーティのモジュールから簡単に変更できるという利点があります。

node_view()は、文字列ではなくレンダリング配列を返すメニューコールバックの例です。

于 2012-12-07T01:44:31.700 に答える