0

假设我有域 www.example.com

它有一个名为“帐户”的默认控制器。

这个控制器基于一个模板,并使用它的数据和其他几个控制器的渲染结果创建一个视图。

让我们称其他控制器为“游戏”和“统计信息”。

这些“子控制器”使用自己的模型数据调用 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 回答