1

我是使用 cakephp2 的新手,我使用 element + requestAction 在我网站的某些页面上显示新闻块,如下所示:

新闻.ctp

<?php
$news = $this->requestAction('controller'=>'News','action'=>'load');

foreach($news as $itm){
    echo $itm['title];
    //...
}

新闻控制器.php

<?php
//...
public function load(){
    //...
    return $data;
}

效果很好,我的问题是

如何禁用直接访问,例如:http://domain/News/load

如果这是制作内容块的好方法?

谢谢!

4

1 回答 1

1

在您的控制器中,您可以尝试这样来防止直接访问。

public function load(){
    if (empty($this->request->params['requested'])) {
        $this->redirect($this->referer());
    }
    return $data;
}

如果requestAction在没有缓存 requestAction 的情况下使用会导致性能不佳。它很少适合在控制器或模型中使用。在这里检查

有关更多信息,您可以在此处查看文档

于 2013-09-07T04:53:42.427 回答