Theme 進階 - 类別
优质
小牛编辑
127浏览
2023-12-01
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,
)
);