0

私がドメインwww.example.comを持っているとしましょう

'account'と呼ばれるデフォルトのコントローラーがあります。

このコントローラーはテンプレートに基づいており、そのデータと他のいくつかのコントローラーのレンダリングの結果を使用してビューを作成します。

他のコントローラーを「ゲーム」と「統計」と呼びましょう。

これらの「サブコントローラー」は、独自のモデルデータを使用してView :: factoryを呼び出し、ユーザーのためにすべてがレンダリングされます。

ブラウザーwww.example.com/gameまたはwww.example.com/statsにアクセスして、メインの「アカウント」コントローラーテンプレートのテンプレートなしでレンダリングされたサブコントローラーのビューを表示できるようにしたくありません。

これを行うための最良の方法は何ですか、またはそれを行うために私の構造を調整します。

4

2 に答える 2

0

リクエストがメインであるかサブリクエストであるかを分析できます。

public function before()
{
   parent::before();
   if ($this->request === Request::instance()) 
   {
       // its a main request, throw an exception or redirect
   }
   else
   {
      // ok
   }
}

ただし、Ajax呼び出しを使用して一部のブロックを更新する場合は、Request::$is_ajaxチェックを追加する必要があります。

于 2010-09-23T06:10:19.137 に答える
0

http://kerkness.ca/wiki/doku.php?id=routing:differ_request_for_internal_and_external

于 2010-09-23T06:16:22.040 に答える