Theme 类別
Theme 类別为你的应用程序提供主題。
Asset 支援
每一个 Theme 类別實例有它自己的 Asset 类別實例,可以很容易從主題載入資產。 Asset 實例被填入活躍的和備用兩者的資產路徑, 它将为你的資產提供相同的備用功能,如你有其他主題元素像樣板和檢視。
範例:
// 使用預設的主題實例載入一个資產
echo \Theme::instance()->asset->css('bootstrap.css');
進階配置
active()、fallback()、 get_info() 和 load_info() 方法預設能让你傳遞一个有已安装主題名稱的字串。 这些方法可以让你傳遞一个替代的主題定義陣列,这让傳遞額外配置資訊是可能的。
以下的主題變数被定義:
參数 | 类型 | 預設 | 描述 |
---|---|---|---|
name | 字串 | 必要 | 主題名稱。这應該與在指定路徑中的文件夾相符。 |
path | 字串 | 必要 | 主題路徑。这應該包含主題名稱,并以一个目录分隔符結尾。 |
asset_base | 字串 | 選擇性 | 指向此主題資產相對於应用程序 DOCROOT的基础路徑。 如果在 DOCROOT 之外,該路徑應該是完整路徑。 它應該以一个目录分隔符結尾。 如果沒指定,它将從所給主題路徑、配置的 assets_folder、 以及配置的 base_url 來建構。 |
info | 陣列 | 選擇性 | 主題的資訊陣列。如果沒定義,它将從主題資訊档案中的資訊建立。 |
find_file | 布林 | 選擇性 | 如果設为 true,Finder::search() 方法将被用來定位檢視和主題資訊档案。 |
範例:
// 标准用法:建立一个實例并設定活躍的主題
$theme = \Theme::forge();
$theme->active('darkglow');
// 進階用法
\Config::load('theme', true, false, true);
$config = \Config::get('theme', false);
// 覆寫一些配置值
$config['info_file_name'] = 'setup.info';
$config['info_file_type'] = 'ini';
// 建立主題實例
$theme = \Theme::forge($config);
// 設定活躍的主題
$theme->active(
array(
'name' => 'darkglow',
'path' => APPPATH.'themes'.DS.'darkglow'.DS,
'asset_base' => '/themes/darkglow/assets/',
'find_file' => true,
)
);