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}/');

これは、次のようなURLの場合です。

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

今、あなたは次のようなことをすることができます...

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

URLの「領域」部分などを取得します。アイデアが得られます。

于 2011-10-26T07:10:23.690 に答える
0

次のコードは、任意の Lithium レイアウトまたはビューで使用して、現在のコントローラーを検索し、適切な 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 に答える