如何获取当前显示视图的名称以传递给另一个函数?
问问题
12436 次
6 回答
14
如果要在视图中显示视图名称:
echo $_ci_view;
另请参阅 print_r(get_defined_vars())
您将看到来自 CI 的许多有趣的变量。
于 2012-10-27T22:54:57.313 回答
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 回答
2
您可以将视图的名称传递给视图。
控制器:
$data = array('viewName' => 'home_view');
$this->load->view($data['viewName'], $data);
然后要在您的视图中访问,您可以使用以下命令检索视图名称:
<?php echo $viewName ?>
//produces 'home_view'
于 2012-08-30T19:34:10.263 回答
0
您可以简单地使用 PHP,在视图中someview.php
这样写:
<?php echo basename(__FILE__, ".php"); ?> //prints: someview
其他人建议<?=$_ci_view?>
注意它会打印出视图的整个文件名:someview.php
而不仅仅是视图名称someview
于 2018-12-24T18:07:18.010 回答
-1
对于那些需要知道当前类名的人,您可以在视图中使用此命令来获取其父类:
<?= $this->router->class ?>
对于当前视图使用:
<?= $_ci_view; ?>
于 2014-03-16T11:38:06.800 回答