假设我有域名www.example.com
它有一个名为'account'的默认控制器。
此控制器基于模板,使用它的数据创建视图,以及其他几个控制器渲染的结果。
让我们打电话给其他控制器,'游戏'和'统计'。
这些“子控制器”使用自己的模型数据调用View :: factory,然后为用户呈现整个事物。
我不希望人们能够进入浏览器www.example.com/game或www.example.com/stats并看到子控制器的视图在没有主“帐户”模板的情况下呈现控制器模板。
最好的方法是做什么,或调整我的结构来做到这一点。
答案 0 :(得分: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
检查。
答案 1 :(得分:0)