![](/img/trans.png)
[英]Add public variable to all CI_Controller's and anything that extends them?
[英]CI - Public Variable for all pages?
我希望在整個網站的每個頁面頂部的會話中顯示一個變量。 在每分鍾的那一刻,我在控制器index()
擁有;
$data['credits'] = $this->session->userdata('credits');
我已經為導航欄創建了單獨的視圖(將在其中顯示變量)。 我稱它為vNav.php
。 然后在vNav.php
執行echo $credits
。
對於每個新視圖,我都必須包含vNav.php
,但這也意味着在另一個視圖的控制器中,我必須在index()
函數中設置$data['credits']
變量。
CI中有沒有一種方法可以自動為我執行此操作? 因此,我不必在所有控制器中都使用同一行代碼?
謝謝
好的,這是您意見的更好設計。
首先,創建一個名為include /的文件夾,在該文件夾中創建header.php,footer.php,template.php。
header.php
<html>
<head>JS - CSS - META</head>
<body>
<div>COMMON MESSAGE</div>
footer.php
<footer>FOOTER GOES HERE</footer>
</body>
</html>
template.php
$this->load->view('include/header.php');
$this->load->view($main_page);
$this->load->view('include/footer.php');
任何控制器:
$data['main_page'] = "hello_world"; // view/hello_world.php
$this->load->view('include/template',$data);
因此,可以通過將其添加到頁眉或頁腳中來創建將在所有頁面上顯示的公共部分。 如果需要,還可以在include文件夾中創建另一個文件,然后將其包含在模板中,以便僅通過修改一個文件就可以在每個位置自動加載該文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.