Theme クラス
Theme クラスはアプリケーションにテーマを提供します。
アセットサポート
全てのテーマクラスのインスタンスは、テーマからアセットを簡単に読み込むことができるように、それ自身がアセットクラスのインスタンスを持っています。 アセットのインスタンスはアクティブ用とフォールバック用のテーマのアセットのパスを集合させており、 テンプレートやビューのように、あなたのアセットにも、他のテーマアセットのフォールバックの機能が提供されます。
例:
// デフォルトのテーマインスタンスを使ってアセットを読み込む
echo \Theme::instance()->asset->css('bootstrap.css');
高度な設定
メソッドの active(), fallback(), get_info() そして load_info() は、デフォルトではインストールしたテーマの名前を文字列で渡すことができます。 これらのメソッドは代わりにテーマ定義の配列を渡すことができ、これらのメソッドへ追加の設定情報を渡すことができます。
以下のテーマ変数が定義されます:
パラメータ | 型 | デフォルト | 説明 |
---|---|---|---|
name | string | 必須 | テーマの名前。これはパスのディレクトリ名に合わせる必要があります。 |
path | string | 必須 | テーマのパス。これはテーマの名前を含むこと、かつディレクトリセパレータで終わっている必要があります。 |
asset_base | string | オプション | アプリケーションの DOCROOT から相対的なこのテーマのアセットへの基準パス。 DOCROOT 外の場合はパスを完全修飾にする必要があります。 これはディレクトリセパレータで終了する必要があります。 指定しない場合は、与えられたテーマのパス、設定された assets_folder 、および、設定された base_url から構築されます。 |
info | array | オプション | テーマの情報配列。未定義の場合は、テーマ情報ファイルから作成されます。 |
find_file | boolean | オプション | true にセットした場合、 Finder::search() メソッドがビューファイルとテーマ情報ファイルの場所を突き止めます。 |
例:
// 基本的な使い方: インスタンスを作り、アクティブなテーマとしてセットします
$theme = \Theme::forge();
$theme->active('darkglow');
// 高度な使い方
\Config::load('theme', true, false, true);
$config = \Config::get('theme', false);
// 設定値を上書きする
$config['info_file_name'] = 'setupinfo.yaml';
// テーマインスタンスの生成
$theme = \Theme::forge($config);
// アクティブなテーマとして設定
$theme->active(
array(
'name' => 'darkglow',
'path' => APPPATH.'themes'.DS.'darkglow'.DS,
'asset_base' => '/themes/darkglow/assets/',
'find_file' => true,
)
);