0

ウィジェット(左、中央、右、フッターなど)にデータを入力するためにカスタムViewModelを構築する必要があるSaaSアプリに取り組んでいます

BaseControllerを使い始めました

`class BaseController extends AbstractActionController {`

しかし、ZfcUserなどのモジュールを使用しようとしているので、ViewModelをビルドするモジュールを作成できますか?その場合、転送/リダイレクトしないようにイベントにフックする場所/方法を教えてください。

私の考えは、通常のコントローラーの動作に干渉することなく、より大きなビューモデルを構築することです。コントローラは、ビューモデルの通常のarray()を返すだけで、配置されます。

  `<?php echo $this->content; ?>`

あなたが一般的にヘッダー、フッター、コンテンツを持っているウェブサイトで明確にし、LeftNavと言います。したがって、フッターには3列のログインボックス、最新ニュース、Twitterフィードがあり、左側のナビゲーションにはナビゲーションといくつかの広告があります。

これは実際には呼び出されるコントローラーとアクションに関係しないので、ViewModelをフェッチするのに最適な場所を見つけ、これらすべての外部エンティティ(ログインテンプレート、twitter、Nivo Slider)をビルドして入力し、置き換える方法を見つけようとしています。

次に、コントローラーがそのarray()を返すときに$this->content、レイアウト内のを置き換えます

これらすべてを各アクションに入れると、膨大な量になり、モジュールの使用が中断されます。

4

2 に答える 2

1

zf2pluginを使用することをお勧めしますが、zend forward helperで動作するため、これは望ましくない場合があります。ただし、動的コンテンツを生成できるクロージャー結果モードがあります。
試してみてください。お役に立てば幸いです。

于 2014-09-05T13:59:46.003 に答える
0

TwitterFeed-Moduleなどのモジュールにビューヘルパーを作成することもできます。ビューヘルパーは、同じモジュールからサービスにアクセスします。

TwitterFeedサービスは、Twitterからのフィードを要求するだけです(理想的には、1時間ほどキャッシュします)。viewhelperは、必要に応じてデータをレンダリングするか、ビュースクリプトを使用してレンダリングするか、レイアウト自体で処理される生データを返します。

于 2012-10-22T22:00:37.937 に答える