我在一个锂布局文件中,我想回显当前控制器的名称(稍后用作 CSS 类)。如何获取当前控制器名称?
谢谢,阿诺
我假设您的意思是您在视图中?
如果是这样,获取控制器或路由/请求的其他部分非常简单......
<?=$this->_request->controller;?>
这将为您提供控制器,但您可以从您需要的路线中获得任何东西。所以假设你有这样的路线......
Router::connect('/{:controller}/{:action}/{:id}');
您可以在视图中使用以下两个:
<?=$this->_request->action;?>
<?=$this->_request->id;?>
或者你可以有一条更漂亮的路线,比如..
Router::connect('/{:id}/{:area}/{:controller}/{:action}/');
这将是一个像这样的网址:
现在你可以做类似...
<?=$this->_request->area;?>
获取网址的“区域”部分等。你明白了。
以下代码可以在任何 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