如何获取当前显示视图的名称以传递给另一个函数?
答案 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();
获取当前行动。
答案 4 :(得分:0)
您可以简单地使用PHP,在视图someview.php
中编写以下代码:
<?php echo basename(__FILE__, ".php"); ?> //prints: someview
其他建议<?=$_ci_view?>
注意,它将打印出视图的整个文件名:someview.php
,而不仅仅是视图名someview
答案 5 :(得分:-1)
对于那些需要知道当前类名的人,可以在视图中使用此命令来获取其父类:
<?= $this->router->class ?>
对于当前视图使用:
<?= $_ci_view; ?>