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 布林 選擇性 如果設为 trueFinder::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,
	)
);