2010-11-25 9 views
0

この質問は、タブ付きインターフェイスを処理するためのベストプラクティスに関して、hereと質問された質問に関連しています。これは、Zend Framework Actionstackが悪い理由であるブログ投稿を参照しました。ここでは、再利用される要素の部分的な使い方とヘルパーの表示を説明しました。要素が何らかの入力を処理する必要があるまでは、これは問題ありません。この場合、ビューヘルパーは答えではありません。ここではアクションヘルパーを使用しています。Matthew Weier O'Phinney氏は、ブログパーミッションの「再利用可能なウィジェットを実装するためのアクションヘルパーの使用」でこれに関するユースケースについて話しています。複数レベルのタブ付きインターフェイスのコントローラ、アクションヘルパー、またはビューヘルパー

これらの視点を読んだ後、私は自分のインターフェースのための最良の行動コースにもっと混乱しているようです。このサイトは、3つの主要なタブ(ケース、スタッフ、&部門)で構成されます。これらの各タブは、セレクタ/検索テーブル、(Case | Staff | Department)サマリ、垂直タブメニューを持つ別のエリアで構成される同様のレイアウトに従います。メインタブには、表示されている情報を除いて、同一の垂直タブ項目がいくつかあります。

質問は、どのようにこのインターフェイスの周りのビュー、ヘルパー、コントローラを構成するのですか?私は、インデックス、ケース、スタッフ、部門コントローラを持つことを考えていました。各メジャータブのビューを再利用するアクションヘルパーを作成しますが、リクエストデータを使用して現在選択されている(ケース|スタッフ|部門)を決定します。個々のタブ・コントローラーを使用して、垂直タブ・コンテンツのjQuery ajax要求を処理し、共通ヘルプを再利用するビュー・ヘルパーに出力を委譲します。また、個々のタブコントローラーを使用してjQuery ajax crud操作を処理します。

これを行うにはこれが最善の方法ですか、より効率的な方法がありますか?

答えて

1

私は3つのメインタブごとに別々のコントローラを作成したいと思います。あなたが記述する縦のタブは、それらのコントローラ上のアクションに対応します。

すべてのナビゲーションタブ(トップレベルと垂直)をレンダリングするには、答えが.... Zend_Navigationmore info)のように聞こえます。

INIファイルまたはXMLファイルから、あるいは構造化された配列からでも読み込まれたすべての構造化ナビゲーションデータを単一のZend_Navigationコンテナに配置してから、「アクティブ」ブランチをレンダリングすることができます。

+0

ご連絡ありがとうございます。これはまさに私がこれまで行ってきたことですが、心配しているのは、メインタブのデザインが同じですが、3つの異なるビューがあることです。また、ajaxによってアクセスされるverticalの場合、同じデザインを使用しますが、異なるビューを使用します。脂肪モデルとスキニーコントローラを持つ練習を維持するために、これらのビューのレンダリングと管理のために再利用可能なヘルパー(ビュー|アクション)を作成してはいけませんか? – Rod

+0

私はすべてのタブに1つのアクションを使用し、ビューではパーツを使用して各タブのコンテンツをレンダリングします(タブを変更するとページをリロードする必要はありません)。DavidもZend_Navigationタブを表示するには、コントローラをスキニー状態に保つために、3つの異なるメソッドの下でモデル内に構築されたタブデータのほとんどを移動できます(タブごとに1つ、またはコードの一部が他の部分で再利用される場合アプリ)の厳しい私はこれがパフォーマンスにどのように影響するかわからないが、それはユーザーエクスペリエンスを向上させます。 –

+0

私は@ poelincaのポイントを参照してください:おそらく、単一のコントローラw/3アクション。各アクションでは、垂直タブを作成するために必要なすべてのタスクを実行できます。次に、クールなクライアントサイドのものがあり、ページをリロードすることなくすべて見ることができます。しかし、私はあなたの質問がそれ以上のものだと思っています。これらの3つの「ページ」は、構造的に類似しています:検索テーブル、サマリー、タブしたがって、req'dデータ(検索テーブル、サマリーなど)を「取得」するためにパラメータ化可能なアクションヘルパーを作成し、同様にパラメータ化されたビューヘルパーとパーシャルをレンダリングに使用することは合理的です。それが本当に似ているのならば。 –

関連する問題