【问题标题】:kohana view from what controller?kohana 从什么控制器查看?
【发布时间】:2012-06-29 12:45:10
【问题描述】:

我有一个可以从一个控制器的 3 个动作中的任何一个调用的视图。 但是,该视图应该会略有不同,具体取决于导致它的操作(它应该显示 3 个图标或 2 个或一个,具体取决于调用的操作)。我可以在视图中检查导致它的操作,以便我可以使用 if 语句检查是否显示每个图标?

谢谢。

【问题讨论】:

    标签: view controller kohana verification


    【解决方案1】:

    当然,你可以将action值直接传递给视图:

    $this->template->action = Request::current()->action();
    

    但是 View 不应该知道任何关于 Request 属性的信息,它是一个控制器逻辑。我建议您从您的操作中传递特殊标志:

    public function action_show1()
    {
        // show only one icon
        $this->template->icons = array('first');
    }
    
    public function action_show2()
    {
        // show another two icons
        $this->template->icons = array('second', 'third');
    }
    
    public function action_showall()
    {
        // show all icons
        $this->template->icons = array('first', 'second', 'third');
    }
    

    或者为每个图标设置特殊标志(变量)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 1970-01-01
      相关资源
      最近更新 更多