【问题标题】:Lithium framework: how to obtain controller name in layout锂框架:如何在布局中获取控制器名称
【发布时间】:2011-12-13 01:42:14
【问题描述】:

我在一个锂布局文件中,我想回显当前控制器的名称(稍后用作 CSS 类)。如何获取当前控制器名称?

谢谢, 艾诺

【问题讨论】:

    标签: php layout controller lithium


    【解决方案1】:

    我假设你的意思是你在一个视图中?

    如果是这样,获取控制器或路由/请求的其他部分非常简单......

    <?=$this->_request->controller;?>
    

    这将为您提供控制器,但您可以从路线中获得所需的任何东西。所以假设你有这样的路线......

    Router::connect('/{:controller}/{:action}/{:id}');
    

    您可以在视图中使用以下两种:

    <?=$this->_request->action;?>
    
    <?=$this->_request->id;?>
    

    或者你可以有一条更好的路线,比如..

    Router::connect('/{:id}/{:area}/{:controller}/{:action}/');
    

    这将是一个像这样的网址:

    http://mysite.com/123/media/photos/edit/

    现在你可以做类似...

    <?=$this->_request->area;?> 
    

    获取网址的“区域”部分等。你明白了。

    【讨论】:

    【解决方案2】:

    以下代码可用于任何 Lithium 布局或视图中查找当前 Controller,将其转换为合适的 CSS 类名,并将其设置为 div 的类属性:

    <?php
        $controller = $this->request()->controller;
        $controller_css_class = strtolower(\lithium\util\Inflector::slug($controller));
    ?>
    
    <div class="<?=$controller_css_class; ?>"></div>
    

    请求类记录在这里:http://li3.me/docs/lithium/action/Request

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2013-11-01
      • 2012-02-06
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多