PowerCMSが処理する テーマ エレメントの記述方法を解説します。
テンプレートセット
テンプレートセットは、ウェブサイトおよびブログに適用するテンプレートの集まりです。ブログの作成や、テーマを適用するときに、テンプレートセットが適用されます。
レジストリへの登録や、テンプレート初期化の動作など、ほとんどの機能は、従来のテンプレートセットのノウハウをそのまま利用できます。テーマ エレメントのimporterの項目には、"template_set" を指定します。
- base_path
テンプレートファイルを配置してある場所を、テーマルート (theme.yaml を配置しているディレクトリ)からの相対パスで指定します。
- templates
テンプレート情報を記述します。詳細はテンプレートセットのドキュメントを参照してください。
elements: template_set: importer: template_set data: label: Classic Blog base_path: templates require: 1 templates: archive: category_entry_listing: label: Category Entry Listing mappings: category: archive_type: Category
ファイル
テーマで利用する静的ファイルを、ブログディレクトリにインストールできます。テーマルートのblog_staticディレクトリにサブディレクトリを作成してファイルを配置します。Theme.yamlには、作成したサブディレクトリのうち、テーマに含めたいサブディレクトリ名を配列形式で指定します。エレメントのimporterの項目には "blog_static_files" を指定します。
elements: blog_static_files: component: ‾ data: - js importer: blog_static_files
関連する環境変数
- ThemeStaticFileExtensions
テーマのファイルとして許可するファイルの拡張子の一覧です。この一覧に含まれない拡張子のファイルは、テーマ適用時にインストールされません。
カテゴリとフォルダ
テーマを適用するときに、カテゴリとフォルダを自動で作成することができます。
テーマエレメントのimporterの項目には "default_categories" または "default_folders" を指定します。data項目には、ベースネームをキーとし、作成するカテゴリ/フォルダの内容をハッシュ形式で指定します。カテゴリ/フォルダの内容は以下の要素があります。
- label
カテゴリ/フォルダの表示名を指定します。
- children
サブカテゴリ/サブフォルダを再帰的に記述します。省略可能です。
data: foo: label: The Foo children: foo_junior: label: Foo Junior
ウェブページ
テーマを適用するときに、 ウェブページを自動で作成することができます。もし、テーマを適用するブログに、ベースネームあるいはタイトルが重複するウェブページがすでに存在していた場合には作成されません。
テーマエレメントのimporterの項目には "default_pages" を指定します。ベースネームをキーとし、ページの内容をハッシュ形式で指定します。ウェブページの内容には以下の要素があります。
- title
タイトルを指定します。省略可能です。
- text
本文を指定します。省略可能です。
- text_more
本文の続きを指定します。省略可能です。
- excerpt
要約を指定します。省略可能です。
- keywords
キーワードを指定します。省略可能です。
- status
公開状態を整数で指定します。省略可能です。
- 未公開
- 公開
- tags
タグを配列形式あるいはカンマ区切りで指定します。省略可能です。
- folder
ウェブページを配置するフォルダを指定します。フォルダが存在しない場合は自動的に作成します。スラッシュ区切りで深い階層のフォルダを指定できます。省略可能です。
data: about: basename: index title: About text: <__trans phrase="_PWT_ABOUT_BODY"> tags: @about folder: about
ウェブサイト、ブログの設定
テーマを適用するときに、ウェブサイト、あるいはブログの設定をおこなうことができます。テーマエレメントのimporterの項目には "default_prefs" を指定します。設定項目をハッシュ形式で指定します。
default_prefs: component: core importer: default_prefs data: file_extension: php convert_paras: 0 allow_comments_default: 0 allow_pings_default: 0
カスタムフィールド
テーマを適用するときに、カスタムフィールドを自動で作成することができます。適用するブログに、ベースネームまたは名称が重複するカスタムフィールドが存在する場合には作成されません。テーマエレメントのimporterの項目には "custom_fields" を指定します。追加するカスタムフィールドのベースネームをキーとするハッシュ形式で指定します。
custom_fields: component: commercial importer: custom_fields data: list_by_step: default: 0 description: Show List by Step name: List By Step obj_type: entry options: ‾ required: 0 tag: EntryListByStep type: checkbox