【发布时间】:2011-12-13 01:42:14
【问题描述】:
我在一个锂布局文件中,我想回显当前控制器的名称(稍后用作 CSS 类)。如何获取当前控制器名称?
谢谢, 艾诺
【问题讨论】:
标签: php layout controller lithium
我在一个锂布局文件中,我想回显当前控制器的名称(稍后用作 CSS 类)。如何获取当前控制器名称?
谢谢, 艾诺
【问题讨论】:
标签: php layout controller lithium
我假设你的意思是你在一个视图中?
如果是这样,获取控制器或路由/请求的其他部分非常简单......
<?=$this->_request->controller;?>
这将为您提供控制器,但您可以从路线中获得所需的任何东西。所以假设你有这样的路线......
Router::connect('/{:controller}/{:action}/{:id}');
您可以在视图中使用以下两种:
<?=$this->_request->action;?>
<?=$this->_request->id;?>
或者你可以有一条更好的路线,比如..
Router::connect('/{:id}/{:area}/{:controller}/{:action}/');
这将是一个像这样的网址:
现在你可以做类似...
<?=$this->_request->area;?>
获取网址的“区域”部分等。你明白了。
【讨论】:
$this->request():lithify.me/docs/lithium/template/view/Renderer::request%28%29
以下代码可用于任何 Lithium 布局或视图中查找当前 Controller,将其转换为合适的 CSS 类名,并将其设置为 div 的类属性:
<?php
$controller = $this->request()->controller;
$controller_css_class = strtolower(\lithium\util\Inflector::slug($controller));
?>
<div class="<?=$controller_css_class; ?>"></div>
【讨论】: