簡體   English   中英

如何在CodeIgniter中獲取當前視圖名稱?

[英]How get the current view name in CodeIgniter?

如何獲取當前顯示視圖的名稱以傳遞給另一個函數?

如果要在視圖中顯示視圖名稱:

echo $_ci_view;

另請參閱print_r(get_defined_vars())您將看到CI中的許多有趣變量。

您可以將視圖的名稱傳遞給視圖。

控制器:

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

然后,要在視圖中訪問,您可以使用以下命令檢索視圖名稱:

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

如何獲取當前顯示視圖的名稱?

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

我認為沒有辦法獲取視圖。 您最接近的方法是獲取要路由到的操作和控制器。

您可以使用CodeIgniter提供的Router類來實現此目的。 采用

$this->router->fetch_method();

獲得當前的行動。

參考

你可以簡單地使用PHP,在視圖someview.php寫這個:

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

其他人建議<?=$_ci_view?>注意它將打印出視圖的整個文件名: someview.php而不僅僅是視圖名稱someview

對於那些需要知道當前類名的人,可以在視圖中使用此命令來獲取其父類:

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

對於當前視圖使用:

<?= $_ci_view; ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM