Zend在一个Action中有多个路由

时间:2012-10-23 06:57:03

标签: php zend-framework

我有Zend应用程序,我重定向来自/popular?ref=<type>的页面请求,其中type为openingsreviews,而不是请求将重定向到索引页。这是我尝试的新东西,而不是我一直以来的常用方式。 所以popularAction的控制器看起来像这样:

public function popularAction()
    {
        $type = $this->_getParam('ref',1);
        if($type == 'reviews'){

            $this->view->text = "Popular Reviews";

        } elseif($type == 'openings') {
            $this->view->text = "New Openings";

        } else {
            $this->_helper->redirector('index', 'index', 'default');
        }

    }

我有1个一般视图模板名称popular.phtml,现在我的问题是,我该如何使用 部分模板,以便所有将数据返回到控制器的特定ref的模型可以将数据传递给部分模板,然后将其渲染为popular.phtml。谢谢!

2 个答案:

答案 0 :(得分:0)

我认为您可以使用Zend view partial

答案 1 :(得分:0)

同意@Arif。您需要使用Zend视图部分。

popularAction:

   $this->view->data = $data; // whatever be the data to be displayed on the popular.phtml
   $this->view->type = $type;

在popular.phtml中:

  <?php if ($this->type == 'review'):
    echo $this->partial('review.phtml',array('data' => $this->data)); 
   else:

    echo $this->partial('opening.phtml',array('data' => $this->data)); 

   endif; ?>

注意:部分路径需要在相对于视图/脚本文件夹的函数中指定 - 比如“index / view.phtml”