記事をカテゴリで整理することができます。あるカテゴリに属する記事をリスト表示する、といった使い方が可能です。ひとつの記事には、複数のカテゴリを指定できます。
カテゴリは階層構造を持つことができ、最上位のカテゴリをトップレベルカテゴリ、それ以外をサブカテゴリといいます。ドラッグ&ドロップで順番や階層を変更できます。
カテゴリの作成
カテゴリの作成には、ワークスペース/スペースのカテゴリ作成権限が必要です。カテゴリの作成は、ふたつの方法があります。
記事の投稿画面で作成
- 記事の投稿画面で、 カテゴリの [追加] をクリックする
- 入力欄に、追加するカテゴリの名前を入力し、エンターキーを押す
カテゴリ一覧に、新しく追加したカテゴリが追加され、選択可能になります。
すでにあるカテゴリを選んで、その下にサブカテゴリを追加することもできます。
記事の投稿画面からカテゴリを作成した場合、記事の URL を構成する「ベースネーム」が自動割当されます(「cat-1」など)。任意のベースネームを指定する場合は、後述するカテゴリの一覧画面から変更してください。
カテゴリの一覧画面で作成
カテゴリをまとめてを追加、編集するには、スペースのサイドメニューから、 [記事] の [カテゴリ] を選択します。トップカテゴリを追加するには、リスト上部のプルダウンから ルート を選択し、フォームにカテゴリ名を入力、追加ボタンをクリックします。追加ボタンのかわりにエンターキーを押すことで、カテゴリを連続で追加できます。
サブカテゴリは、プルダウンから親カテゴリを選んで追加します。同様に、一覧のカテゴリにカーソルをあわせて、[+] マークをクリックすると、そのカテゴリのサブカテゴリを追加できます。各カテゴリの [名前を変更] をクリックすると、その場でカテゴリ名と出力フォルダ名を編集できます。「×」アイコンをクリックすると、そのカテゴリを削除します。カテゴリの追加、編集作業を終えたら、忘れずにリスト上部の [変更を保存] ボタンをクリックしましょう。
ほとんどの操作が、このカテゴリ一覧画面でおこなえますが、説明文の変更やトラックバック受信の許可、カスタムフィールドの連携などは、カテゴリ名をクリックして「カテゴリの編集」画面でおこないます。
並び替え
カテゴリを並び替えるには、移動したいカテゴリの左端にカーソルをあわせます。カーソルが十字キーのアイコンに変わるので、左マウスボタンを押し、移動先までカーソルを移動(ドラッグ)します。移動先で、左マウスボタンを放すと(ドロップ)、その場所にカテゴリが移動します。ドラッグ&ドロップで、次の操作が可能です。
- カテゴリの順番を並び替える
- 他のカテゴリのサブカテゴリに移動する
- サブカテゴリの階層を上げる(下げる)
公開済みのカテゴリを編集する時の注意点
すでに記事を公開しているカテゴリの、公開パスや階層を変更する場合には、いったん記事を非公開にしてから変更します。これにより、変更前のアーカイブパスに、古い HTML ページが残ってしまうことを防ぎます。カテゴリ右端の記事数をクリックすると、そのカテゴリを選択している記事の一覧が表示されるので、アクションプルダウンから [すべての記事の公開を取り消し] を実行します。その後に、カテゴリの公開パスや階層を変更し、再度記事を公開します。
カテゴリの編集
カテゴリ編集画面の各項目の概要は以下のようになります。
- 名前
カテゴリ名を設定します。MTCategoryLabel, MTArchiveTitle, MTEntryCategory タグで表示します。
- 出力ファイル/フォルダ名
カテゴリアーカイブのパスを指定します。日本語でカテゴリを作成すると、自動で設定されます。例えば、ニュースという日本語カテゴリ名に、英語で news という出力ファイル名を設定します。他のカテゴリの出力ファイル名と重複しないように注意してください。
- 説明
カテゴリの説明文を入力します。MTCategoryDescription タグで表示します。
トラックバック受信
- トラックバックを許可
カテゴリトラックバックを受付るかどうかを設定します。
トラックバック送信
- トラックバック URL
このカテゴリの工ン卜リーを新規に投稿するときに、トラックバックを自動送信する送信先の URL を指定します。複数の送信先を登録する場合は、改行します。
カテゴリを表示するテンプレートタグ
カテゴリ関連のブロックタグで、sort_by モディファイアが使えます。標準の値は、sort_by="user_custom" です。管理画面で並び替えた順番で、カテゴリの一覧を出力します。例えば、PowerCMS に標準で付属するテーマでは、以下のようなテンプレートタグで、カテゴリを階層的に表示しています。
<mt:TopLevelCategories>
<mt:SubCatIsFirst>
<ul>
</mt:SubCatIsFirst>
<mt:If tag="CategoryCount">
<li><a href="<$mt:CategoryArchiveLink$>"<mt:If tag="CategoryDescription"> title="<$mt:CategoryDescription remove_html="1" encode_html="1"$>"</mt:If>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
<mt:Else>
<li><$mt:CategoryLabel$>
</mt:If>
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast>
</ul>
</mt:SubCatIsLast>
</mt:TopLevelCategories>
sort_by モディファイアは、user_custom 以外にも、次の値を指定することができます。この場合、管理画面で設定した並び順を無視し、指定した値でソートします。
- label : 「カテゴリ名」
- description : 「説明」
- basename : 「出力ファイル/フォルダ名」
- created_on : 「作成日」
- modified_on : 「更新日」
- user_custom : 管理画面の並びかえ順(標準)
加えて、sort_order モディファイアで、昇順降順を指定します。例えば、以下の例ではカテゴリ名の降順で一覧表示します。
<mt:SubCategories sort_by="label" sort_order="descend">
</mt:SubCategories>
以下のカテゴリ関係のブロックタグで利用できます。
- <mt:SubCategories>
- <mt:TopLevelCategories>
このブロックタグ内で、<mt:CategoryPrevious> タグ、および <mt:CategoryNext> タグを利用した場合は、sort_by で指定した順番で、前と次のカテゴリを表示します。
注意点
<mt:Categories> タグは階層や並び順を無視してカテゴリを一覧表示するため、sort_by モディファイアは使えません。また、sort_method モディファイアで、独自の並び替え用の Perl メソッドを指定している場合は、そちらが優先されます。
プライマリカテゴリをテンプレートタグで表示する
記事に複数のカテゴリを指定する場合に、優先して表示するプライマリカテゴリを指定できます。投稿画面のカテゴリウィジェットで、カテゴリの先頭の星マークをクリックします。このプライマリカテゴリを、表示する <mt:EntryPrimaryCategory> タグは、<mt:Entries> ブロックタグ内で使用できます。
<mt:Entries>
<mt:EntryPrimaryCategory><$mt:CategoryLabel$></mt:EntryPrimaryCategory>
</mt:Entries>
<mt:EntryCategories> タグに、type="primary" モディファイアを指定しても同様に、プライマリカテゴリのみを表示します。
<mt:EntryCategories type="primary">
- 次は
- 一覧へ