我目前正在使用Zend Framework为一个网站构建一个小管理部分,这只是我第二次使用框架,所以我对某些事情有点不确定.例如,我有一个新闻文章的存档选项,用户希望点击链接,文章将被存档,但我无法弄清楚如何在没有视图的情况下运行它?
这是我的控制器
public function archiveNewsAction() { //die(var_dump($this->_request->getParam('news_id'))); $oNews = new news(); $this->_request->getParam('news_id'); $oNews->archiveNewsArticle($news_id); //die(var_dump($oNews)); $this->_redirect('/admin/list-all'); }
这是我的模特
public function archiveNewsArticle($news_id) { //die($news_id); $db = Zend_Registry::get('db'); $sql = "UPDATE $this->_name SET live = '0' WHERE news_id = '$news_id' LIMIT 1"; die($sql); $query = $db->query($sql); $row = $query->fetch(); return $row; }
我将不胜感激任何人都能给予的帮助.
谢谢
西科
我使用它来调用我不想输出的AJAX操作或者我正在使用其他输出,比如XML或JSON:
// Disable the main layout renderer $this->_helper->layout->disableLayout(); // Do not even attempt to render a view $this->_helper->viewRenderer->setNoRender(true);
如果您正在执行的操作没有输出/非HTML输出,则这具有无重定向开销的额外好处.
禁用动作中的视图呈现(将其放入特定操作中.如果您希望将其用于整个控制器,请将其放在init方法中):
$this->_helper->viewRenderer->setNoRender();
如果您使用的是ZF的布局组件,请添加以下内容:
$this->_helper->layout->disableLayout();