我在一个锂布局文件中,我想回应当前控制器的名称(以后用作CSS类)。如何获取当前控制器名称?
谢谢, aeno
答案 0 :(得分:4)
我认为你的意思是你在观看?
如果是这样,获取控制器或路由/请求的其他部分非常简单......
<?=$this->_request->controller;?>
这将为您提供控制器,但您可以从您需要的路线获得任何内容。假设你有一条像...这样的路线。
Router::connect('/{:controller}/{:action}/{:id}');
您可以在视图中使用以下两种方法:
<?=$this->_request->action;?>
<?=$this->_request->id;?>
或者你可以拥有像......这样更高档的路线。
Router::connect('/{:id}/{:area}/{:controller}/{:action}/');
这适用于以下网址:
现在你可以做点什么......
<?=$this->_request->area;?>
获取网址的“区域”部分等等。你明白了。
答案 1 :(得分:0)
以下代码可以在任何Lithium布局或视图中使用,以查找当前的Controller,将其转换为合适的CSS类名,并将其设置为div的class属性:
<?php
$controller = $this->request()->controller;
$controller_css_class = strtolower(\lithium\util\Inflector::slug($controller));
?>
<div class="<?=$controller_css_class; ?>"></div>