4

別の関数に渡すために現在表示されているビューの名前を取得するにはどうすればよいですか?

4

6 に答える 6

14

ビュー内にビュー名を表示したい場合:

echo $_ci_view;

また print_r(get_defined_vars())、CIからの多くの興味深い変数が表示されます。

于 2012-10-27T22:54:57.313 に答える
2

ビューの名前をビューに渡すことができます。

コントローラ:

$data = array('viewName' => 'home_view');
$this->load->view($data['viewName'], $data);

次に、ビューにアクセスするには、次のコマンドでビュー名を取得できます。

<?php echo $viewName ?>
//produces 'home_view'
于 2012-08-30T19:34:10.263 に答える
2

現在表示されているビューの名前を取得するにはどうすればよいですか?

$thisFile = pathinfo(__FILE__, PATHINFO_FILENAME);
$thisViewName = trim($thisFile, '.php');
echo $thisFile; // view_filename.php
echo $thisViewName; // view_filename
于 2012-08-30T20:30:15.620 に答える
2

ビューを取得する方法はないと思います。最も近い方法は、ルーティング先のアクションとコントローラーをフェッチすることです。

これを実現するには、CodeIgniter が提供する Router クラスを使用できます。使用する

$this->router->fetch_method();

現在のアクションを取得します。

参照

于 2013-09-17T04:57:18.830 に答える
-1

現在のクラス名を知る必要がある場合は、ビュー内でこのコマンドを使用してその親クラスを取得できます。

<?= $this->router->class ?>

現在のビューの使用の場合:

<?= $_ci_view; ?>
于 2014-03-16T11:38:06.800 に答える