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,
	)
);