Zend Framework子目录

时间:2011-03-29 19:48:16

标签: php zend-framework

嘿,在Zend Framework中我有一个名为Days的控制器 我有一个名为星期日的行动。

所以当我访问我的网站时:mywebsite.com/days/sunday/ - 这将使用我的默认index.phtml,这很好。

现在我有另一个名为goodmorning的phtml页面,我希望它保留在星期日的行动中。

所以它读起来像这样:
mywebsite.com/days/sunday/goodmorning/
mywebsite.com/days/sunday/goodafternoon/
mywebsite.com/days/sunday/night/

我该怎么做?

  class daysController extends Zend_Controller_Action

  {

      public function sundayAction()

      {



      }

  }

2 个答案:

答案 0 :(得分:2)

class DaysController extends Zend_Controller_Action
{
    public function sundayAction()
    {
        $params = getParams();
        switch ($params[0]) {
            case 'goodmorning':
                $partial = 'goodmorning';
                break;
            case 'goodafternoon':
                $partial = 'goodafternoon';
                break;
            case 'night':
            default:
                $partial = 'night';
                break;
        }
        $this->_helper->viewRenderer($partial);
    }
}

尽管如此,您应该使用http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.usage来设置自定义路线。例如days/:day/:greeting

答案 1 :(得分:0)

  

所以当我访问我的网站时:mywebsite.com/days/sunday/ - 这将使用我的默认index.phtml,这很好。

错误,它会调用sunday.phtml观看次数操作

进行映射

但是,根据所涉及的参数,您可以使用Zend_Controller_Action::render()方法或在视图中使用$this->partial('goodmorning.phtml'),可能有意义的是您在所有视图之间有一些共同点并且想要只改变剩下的部分。

您可能希望更准确地描述您想要做的事情,我们可能会建议您采用更好的方法。