私はリチウム レイアウト ファイルを使用しており、現在のコントローラーの名前をエコーしたいと考えています (後で CSS クラスとして使用するため)。現在のコントローラー名を取得するにはどうすればよいですか?
ありがとう、アエノ
私はリチウム レイアウト ファイルを使用しており、現在のコントローラーの名前をエコーしたいと考えています (後で CSS クラスとして使用するため)。現在のコントローラー名を取得するにはどうすればよいですか?
ありがとう、アエノ
私はあなたがビューにいるという意味だと思いますか?
もしそうなら、コントローラーまたはルート/リクエストの他の部分を取得するのは非常に簡単です...
<?=$this->_request->controller;?>
それはあなたにコントローラーを手に入れますが、あなたはあなたが必要とするあなたのルートからほとんど何でも手に入れることができます。したがって、次のようなルートがあると仮定します...
Router::connect('/{:controller}/{:action}/{:id}');
ビューでは、次の両方を使用できます。
<?=$this->_request->action;?>
<?=$this->_request->id;?>
または、..のようなより洗練されたルートを持つことができます。
Router::connect('/{:id}/{:area}/{:controller}/{:action}/');
これは、次のようなURLの場合です。
今、あなたは次のようなことをすることができます...
<?=$this->_request->area;?>
URLの「領域」部分などを取得します。アイデアが得られます。
次のコードは、任意の 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