4

Drupal 6.x に関するリクエストがあります。この動作を希望します。

2 つの列があるとします。左側にはノードのリスト (たとえば、タイトルのみ) があり、右側には左側のコンテンツの 1 つだけを表示するビューがあります。私の考えは、AJAX 方式でこれを実現することです。左側のリストのリンクをクリックすると、右側のビューが実際のノードで更新されます。

これを処理する最良の方法はどれですか?

私の考えは、パネルを使用して、2 つのビューを持つ 2 列のパネルを作成することです。1 つ (左) はコンテンツ タイプでフィルター処理され、引数はありません。右側には、表示されるノード ID を引数として取ります。

しかし、2 つのビューを AJAX にリンクするにはどうすればよいでしょうか。(または、AJAX 呼び出しで右側のビューを更新する方法は?) これは可能ですか?

どんな助けやアイデアも大歓迎ですありがとう!

乾杯マウロ

4

2 に答える 2

3

また、コードを変更せずにビューを変更できるため、非常に柔軟な簡単なハックを行うこともできます。

私は最近同様の仕事をしましたが、あなたの仕事のために私は次のことをします:

  1. 右側の列に対して、公開フィルター (ノード ID) を作成し、CSS を使用して公開フィルター フォーム全体を非表示にします。
  2. jQuery を使用して、左側の列のタイトルにクリック動作を追加します。
  3. クリック動作はノード ID を取得し、右側の列で添付された公開フィルターを見つけ、ノード ID を入力フィールドに入力し、フォームの .submit() を実行します。

.submit() は、適切にデバッグされたビューへのビルトイン ajax リクエストをトリガーし、右側の列を更新します。

于 2009-11-11T15:37:28.707 に答える
2

これは確かに可能であり、実行するのはそれほど難しくありません。

あなたの仕事は2つの主要な部分に分けることができます:

  1. ノードID(nid)を受け取り、javascriptで処理できる形式で右側のパネルにノードを表示するためのマークアップを返す「コールバック」URLをバックエンドに提供します。これは、通常のDrupalモジュール内のPHPで実行されます。重要な点は、通常のように完全なDrupalページを返すのではなく、ノードのマークアップのみを返すことです。
  2. 左側のパネルのリンクをクリックしてトリガーされると、上のURLコールバックを介して新しいノードのマークアップを取得し、右側のパネルのコンテンツをそれに置き換えるフロントエンドのロジックを作成します。これは、jQueryでDrupal javascript APIを使用して、javascriptで実行する必要があります。

DrupalのAJAXの紹介と例はここにあります。(これは、画像のみを使用して、ほぼ正確に実行したいことを実行します)

DrupalのJavaScriptのこのより一般的なエントリポイントも確認する必要があります。

于 2009-10-20T19:18:14.027 に答える