2

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

谢谢,阿诺

4

2 回答 2

4

我假设您的意思是您在视图中?

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

<?=$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;?> 

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

于 2011-10-26T07:10:23.690 回答
0

以下代码可以在任何 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

于 2013-05-29T08:41:11.590 回答