如何在CodeIgniter中获取当前视图名称?

时间:2012-08-30 18:31:29

标签: php codeigniter

如何获取当前显示视图的名称以传递给另一个函数?

6 个答案:

答案 0 :(得分:10)

如果要在视图中显示视图名称:

echo $_ci_view;

另请参阅print_r(get_defined_vars()),您将看到来自CI的许多有趣变量。

答案 1 :(得分:2)

您可以将视图的名称传递给视图。

控制器:

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

然后,要在视图中进行访问,您可以使用以下命令检索视图名称:

<?php echo $viewName ?>
//produces 'home_view'

答案 2 :(得分:2)

  

如何获取当前显示视图的名称?

$thisFile = pathinfo(__FILE__, PATHINFO_FILENAME);
$thisViewName = trim($thisFile, '.php');
echo $thisFile; // view_filename.php
echo $thisViewName; // view_filename

答案 3 :(得分:1)

我认为没有办法获取视图。您最接近的方法是获取要路由到的操作和控制器。

您可以使用CodeIgniter提供的Router类来实现此目的。使用

$this->router->fetch_method();

获取当前行动。

Reference

答案 4 :(得分:0)

您可以简单地使用PHP,在视图someview.php中编写以下代码:

<?php echo basename(__FILE__, ".php"); ?> //prints: someview

其他建议<?=$_ci_view?>注意,它将打印出视图的整个文件名:someview.php,而不仅仅是视图名someview

答案 5 :(得分:-1)

对于那些需要知道当前类名的人,可以在视图中使用此命令来获取其父类:

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

对于当前视图使用:

<?= $_ci_view; ?>