1

webform を使用して、相互に属するコンポーネントのペアをいくつか含むフォームを作成しました。たとえば、タイプがテキスト フィールドのコンポーネント「name」とタイプがマークアップのコンポーネント「name」です。意図は、テキスト フィールドの送信がマークアップ フィールドに表示されることです。

ロールを使用すると、入力する必要があるテキストエリアと表示されるマークアップ フィールドがユーザーに提供されます。このようにして、さまざまなユーザー (この場合は学生) が 1 人のユーザー (教師) と通信できるようにしたいと考えています。生徒がテキストエリアに送信したテキストは、教師に対して読み取り専用テキストとして表示されます。

比類のない Johan Falk ( http://vimeo.com/18701843 ) の助けを借りて、Web フォーム送信データからビューにデータを取得できますか。コンテキスト フィルターで提出 ID (sid) を使用することで、特定の学生の提出を選択して表示できます。ビューのプレビューでは、これは正常に機能します。

コンテキスト フィルターを使用すると、ユーザー (学生) 選択の入力の提出 ID と共に使用できます。プレビュー ビューでは、これは正常に機能します。次に、次の php コードを使用して、ブロックをマークアップ フィールドにインポートします。

<? php
   $ block = module_invoke ('views', 'block_view', 'block_delta');
  print render ($ block ['content']);
?>

ここから私の質問を始めます!

ブロックの上部print render ($ block ['content']);は、すべてのユーザー (学生) の提出物の調査として表示されます。ただし、上記のビューのプレビューのように、url パラメーターを使用して、特定のユーザーの単一の送信を表示したいと考えています。上記のこの php コードにフィルターを追加する方法を探しましたが、解決策が見つかりません。

誰もそれに取り組む方法を知っていますか? 前もって感謝します。

4

1 に答える 1

0

あなたの質問を正しく理解できれば、指定されたフィルターをビューのみに適用して、必要なブロックを生成できると思います。

  1. タイプWebform submitsの新しいビューを作成してみてください。(/管理者/ビルド/ビュー/追加)
  2. ブロック表示を追加する
  3. 関係Webform submits: Userを追加し、それが必須であることを確認します。
  4. フィルタUser: Current Yesを追加し、あなたの関係 (Webform Submission User) を使用する必要があります。

これにより、現在ログインしているユーザーからの送信に対するブロック出力がフィルター処理されます。

于 2013-03-24T05:21:09.277 に答える