情報分類モデルについて

「情報分類」モデルは PowerCMS X 3.5から追加されたモデルです。
簡単に言うと、システムスコープに作成されたメタデータ用のモデルで、「タグ」の代替として利用することを想定しています。

両モデルとも通常のリレーション型のカラムと違うのは、テキスト入力欄にカンマ区切りで直接指定することができる点です(もちろんダイアログからの選択も可)。

情報分類の入力・選択UI

タグと情報分類の共通事項と違いについて纏めます。

モデル タグ カテゴリ
登録方法 カンマ区切りで記事などの編集画面で入力、または管理画面で各々に登録
正規化 「PowerCMS」「Power CMS」「PowerCMS」を同一のものとして管理可能
リレーション モデルごとに異なるものとして管理される モデルをまたがって同一のオブジェクトとして管理される
スコープ スコープごとに管理される システム全体で管理される

PowerCMSでも PowerCMS Xでも、例えばカテゴリモデルはスペース(ウェブサイト・ブログ)ごとに管理されますが、各スペースに「プレスリリース」というカテゴリを作成したとして、各々は別のオブジェクトして管理されます。
すべてのスペースに同じ名称のカテゴリを作成しなければなりませんし、システム全体で「プレスリリース」カテゴリの記事一覧アーカイブを作成することはできません(工夫すれば何とかなることはなりますが)。

PowerCMS Xの「システムスコープにアーカイブが作れる」特徴を活かして、情報分類であれば、システムスコープに「ビュー」「URLマップ」を作成すれば、すべてのスペースを串刺しにした記事アーカイブを作ることも可能になります。

情報分類モデルを「記事」で利用する

情報分類モデルは、モデルのプロパティとしてあらかじめ登録可能な機能となっています。

モデル編集画面の情報分類チェックボックス

  • モデル「記事」の編集画面を開く
  • 「情報分類」チェックボックスにチェックを入れて保存
  • カラム「情報分類」を表示する箇所にドラッグ&ドロップして、再度保存

taxonomyカラムをドラッグ&ドロップ

これで、利用可能になります。

情報分類別記事アーカイブを作成する

システムスコープにビューとURLマップを作成することで、すべてのスペース配下の記事を束ねた情報分類別記事アーカイブを作成することができます。スペースにビューとURLマップを作成すれば、スペースの記事のみを対象としたアーカイブになります(include_workspaces属性を利用すれば他のスペースの記事も含められますが、コンテナとして関連づけられるのはあくまでも同一のスコープの記事のみです)。

URLマップの設定の例

tag/<mt:taxonomyname>/index.html

ここで注意すべきポイントは 3点です。

  • 同一スコープのオブジェクトのみを対象とする、にはチェックを入れない(すべてのスペースの記事を対象とするため)
  • <mt:taxonomyname escape="url"> escapeモディファイアを指定しない
  • ビューの <mt:entries> タグに include_workspaces="all"を指定する

URLマップの設定画面

escape="url" (encode_urlと同じ)モディファイアを指定すると、日本語で入力された情報分類名の時、出力先とURLが一致しなくなります。指定はHTMLへの出力側で、「<mt:taxonomypermalink encode_url_basename="dirname">」または「<mt:taxonomypermalink encode_url_basename="all">」とすることで、適切に%エンコードされるようになります。

参考記事 :