テーマの作り方

HTML作成済みのテーマをNovius OSで使うようにするための解説です。

フォルダ構成

以下のフォルダで構成されます。

 

config 設定ファイル

metadata.config.phpというファイルを作成します。metadata.config.phpでは、array(配列)を返すようにPHPを記述します。

return array(
    'name' => 'Foundation', // テンプレート名
    'version' => '0.2', // バージョン
    'provider' => array( // 作者名
        'name' => 'Fumito MIZUNO',
    ),
    'namespace' => 'Foundation', // 名前空間
    'i18n_file' => 'foundation::metadata', // 多言語対応のファイル
    'launchers' => array( // 管理画面でのアイコン等。テーマでは原則不要
    ),
    'enhancers' => array( // 管理画面でのURL等。テーマでは原則不要
    ),
    'templates' => array( // テンプレートファイルの設定
        'foundation_top_menu' => array( // テンプレートファイル毎に記述する
            'file' => 'foundation::top_menu', // ファイル名
            'title' => 'Foundation top menu', // 管理画面でテンプレート選択するときの名前
            'cols' => 1, // 投稿画面を分割するか
            'rows' => 1, // 投稿画面を分割するか
            'layout' => array(
                'content' => '0,0,1,1', // 投稿画面を分割する場合は、それぞれの設定を行う
            ),
            'module' => '', // ドキュメントに説明無し。デフォルトテーマでは空欄
        ),
        'foundation_12__6-6' => array(
            'file' => 'foundation::12__6-6',
            'title' => 'top 12, below 6-6',
            'cols' => 12, // 横を12分割
            'rows' => 3, // 縦を3分割
            'layout' => array(
                'content' => '0,0,12,1', // 左から0/上から0からスタート、幅12、縦1
                'content-l' => '0,1,6,2', // 左から0/上から1からスタート、幅6、縦2
                'content-r' => '6,1,6,2', // 左から6/上から1からスタート、幅6、縦2
            ),
            'module' => '',
        ),
    ),
);
 
登録したテンプレートファイルを、管理画面で、各ページに設定していきます。
Novius Template
 
 
投稿画面を分割した場合です。top 12, below 6-6を選択しています。
Novius OS管理画面
templatesの中に、各々のページテンプレート毎に記述していく、という感じです。(テンプレートファイルを置いただけでは、Novius OSのテーマとしては認識されません。)

static 静的ファイル

テーマ内のスタイルシート、JavaScript、画像はこのフォルダ内に置きます。

 

views テンプレートファイル 

 テンプレートファイルは、HTMLとほぼ同じです。

最低限必要な作業は2つです。

  1. ファイル名を、***.view.php にする
  2. 本文を出力する場所に <?$wysiwyg['content'?> と書く

1. は、Novius OSのお作法に「ビューファイルは.view.phpで終わる名前にする」というものがあるので、それに従うようにします。

2. は、CMSで作成した本文をどこに出力するかを決めます。書いた場所に、本文が出力されます。本文の出力先が複数ある場合は、<?= $wysiwyg['content-l'] ?> や <?=$wysiwyg['content-r']?> といった記述を必要な数だけ記述してください。

 

ヘッダーの情報は自動設定される

<header>の中に、meta keywordsや、meta descriptionを挿入するために、{{KEYWORDS}} とか、%{META_DESCRIPTION} といった呪文を記述する手間はかかりません。Novius OSでは、HTMLファイルを解析することで、よくあるヘッダー情報は自動的に解析して、CMSの設定を反映してくれます。(HTMLの構造が適切であることが必要になります。)

パーツを作りたい場合

いくつかのテンプレートファイルで共通部分はパーツ化することができます。この場合、

<?= \View::forge('foundation::subviews/header') ?>
 
のように記述します。foundation::subviews/headerの部分は、
テーマ名::フォルダ名/ファイル名
です。foundation::subviews/headerと指定すると、foundationテーマのviewsフォルダにある、subviewsフォルダ内のheader.view.phpを読み込みます。

 


Novius OS Japan