1
我正在開發應用程序,我想讓代碼點火器中的系統獨立於主題。在代碼點火器中主題是否可以出現在系統中?
這些主題只是css文件和圖像,不一定是視圖。在codeigniters MVC中。
這些主題應由數據庫變量選擇。
身份證要如何做到這一點?
我正在開發應用程序,我想讓代碼點火器中的系統獨立於主題。在代碼點火器中主題是否可以出現在系統中?
這些主題只是css文件和圖像,不一定是視圖。在codeigniters MVC中。
這些主題應由數據庫變量選擇。
身份證要如何做到這一點?
在用戶會話中存儲使用的主題的名稱。然後在每個控制器構造函數中檢查值的存在,檢查數據庫中是否存在主題名稱,並將數據提供給視圖,然後由視圖進行處理,然後通過包含的頁眉處理該視圖。
該數據庫將是這樣的:
theme_id | theme_name | theme_css
------------------------------------
1 | default | default.css
2 | fancy | fancy.css
您的意見將所有包含這樣的事情:
<?php include header.php ?>
header.php中就包含有此:
<link href="/css/<?=$theme_data->css?>" rel="stylesheet" type="text/css" />
和你擴展標準控制器的基本控制器將如下所示:
<?php
class Base_Controller extends Controller
{
protected $theme = 'default';
function __construct()
{
parent::Controller();
if ($this->session->userdata('theme')
{
$this->theme = $this->session->userdata('theme');
}
$this->view->data['theme_data'] = $this->get_theme_data();
}
protected function get_theme_data()
{
// return data from database using $this->theme
}
}