尝试使用Zend FW重定向页面。

时间:2014-10-01 05:05:14

标签: php zend-framework

我试图重定向页面如果条件为真我不想使用核心php函数header()因为我使用zend所以,我尝试过很多东西但是徒劳无功。

这是我的代码。

  $viewer = Engine_Api::_()->user()->getViewer();
  $table = Engine_Api::_()->getItemTable('sitebusiness_business');
  $select = $table->select()->where('owner_id = ?' , $viewer->getIdentity());
  $result = $table->fetchAll($select);
   if(count($result) == 0){
      $url = Zend_Controller_Front::getInstance()->getRouter()->assemble(array('action' => 'package'), 'sitebusiness_general', true); // url is /mysite/businessitems/package
      $this->_redirect($url); //Not Working ---- 
      $this->_helper->redirector($url); //Not Working ---- 
      $this->_redirector->gotoSimple($url); //Not Working ---- 
      $this->_redirector->gotoUrl($url); //Not Working ---- 
   }

每次我收到消息:致命错误:在非对象上调用成员函数重定向器()[无论函数名称是什么]。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容在zf2

中重定向
$this->redirect()->toRoute('routename');

一般路由名称是控制器中的函数名称。

如addEmployeeAction(),editEmployeeAction()...

module.config.php

中定义的路线
  'zfcadmin' => array(
                'type' => 'segment',
                'options' => array(
                    'route'    => '/admin',
                    'defaults' => array(
                        'controller' => 'ZfcAdmin\Controller\AdminController',
                        'action'     => 'index',
                    ),
                ),
                'may_terminate' => true,