Pickles 2

サイトマップ編集

サイトマップは、ウェブサイト全体のページ構成を定義する概念です。

1ページ1行の表形式で表現され、CSV または Microsoft Excel のファイル形式で編集できます。

INDEX

サイトマップCSVの格納ディレクトリ

サイトマップCSVは、ホームディレクトリ(px-files/) の中にある、 sitemaps/ ディレクトリ直下に格納します。

サイトマップは複数のCSVファイルに分割して管理することができます。 px-files/sitemaps/ の直下にある 拡張子 *.csv のファイルはすべて収集され、併せて1つのサイトマップツリーとして処理されます。

CSVの形式

  • CSVファイルはUTF-8で保存してください。
  • 1行目は定義行として、2行目以降にページデータを記述してください。
  • 定義行は、* 定義名 のように、先頭にアスタリスクを記述します。
  • * path* title は必須です。必ず定義に加えてください。

規定の定義

キー 意味
A path ページのパス
B content コンテンツファイルの格納先
C id ページID
D title ページタイトル
E title_breadcrumb ページタイトル(パン屑表示用)
F title_h1 ページタイトル(H1表示用)
G title_label ページタイトル(リンク表示用)
H title_full ページタイトル(タイトルタグ用)
I logical_path 論理構造上のパス
J list_flg 一覧表示フラグ
K layout レイアウト
L orderby 表示順
M keywords metaキーワード
N description metaディスクリプション
O category_top_flg カテゴリトップフラグ
P role ロール
Q proc_type コンテンツの処理方法

path - ページのパス

ページのパスを入力します。必須項目です。

パスは、スラッシュから始まる絶対パスで記入します。URLの origin 部分は含みません。 Pickles 2 は、ページのユニークな識別子として path を利用しますので、同じパスのページを複数定義することはできません。

もし、プロジェクト設定の $conf->path_controot に深い階層が設定されている場合、絶対パスの起点はこのディレクトリになります。

path には、後述するエイリアスとダイナミックパスをセットすることができます。

content - コンテンツファイルの格納先

コンテンツファイルのパスを入力します。省略した場合、path が示すパスにあるコンテンツファイルを参照します。

id - ページID

ページのIDを入力します。 path と同様、ページを一意に識別するための記号なので、必ずユニークな値でなければなりません。

ただし、省略することが可能です。省略時、 Pickles 2 が自動的に連番を含む文字列をIDとして与えます。

トップページは例外的に、常に 空白文字列 として定義されます。

title - ページタイトル

ページのタイトルです。 titleタグや、h1タグ、パンくず、ナビゲーション上のリンクラベルなどに利用されます。

title_breadcrumb - ページタイトル(パン屑表示用)

パンくず表示用のタイトル文字列です。省略時、 title と同じ文字列が採用されます。

title_h1 - ページタイトル(H1表示用)

H1タグ表示用のタイトル文字列です。省略時、 title と同じ文字列が採用されます。 H1タグは、他の用途と異なり、改行を表現することができるエリアです。サイトマップCSV上では改行コードを入力して改行を表現できます。テーマテンプレート上では、明示的に、改行コードを <br /> に変換して出力する必要があります。

title_label - ページタイトル(リンク表示用)

リンクラベル用のタイトル文字列です。省略時、 title と同じ文字列が採用されます。

title_full - ページタイトル(タイトルタグ用)

titleタグ用のタイトル文字列です。省略時、 title とサイト名を組み合わせて自動生成されます。

logical_path - 論理構造上のパス

パンくず上のパス情報を入力します。

トップページと自分自身を除く間の階層のページパスまたはページIDを、 > 記号で繋いだ形式で表現します。

list_flg - 一覧表示フラグ

ローカルナビ等の一覧に表示するかしないかを決めるフラグです。 1 をセットした場合表示され、0 または 空白 とした場合には、表示されなくなります。

layout - レイアウト

テーマレイアウトを選択するスイッチです。任意の文字列でレイアウトを指定できます。 例えば top と入力した場合、テーマレイアウトの top.html が適用されます。

省略時は、 default.html が適用されます。

orderby - 表示順

ページの表示順を、数値で指示します。 省略時、サイトマップCSVに記入したままの並び順になります。

keywords - metaキーワード

metaタグの keywords 文字列として利用されます。

description - metaディスクリプション

metaタグの description 文字列として利用されます。

category_top_flg - カテゴリトップフラグ

1 (=カテゴリトップページ)または 0 (=下層の通常ページ)で指定します。省略時は 0 と同じです。

論理階層がトップページ直下の2階層目で、かつ list_flg1 にセットされているページでは、 category_top_flg1 の場合、グローバルナビゲーションに含められ、category_top_flg0 の場合は、ショルダーナビゲーションに含められます。

role - ロール

後述する アクター機能を使います。

proc_type - コンテンツの処理方法

$conf->paths_proc_type と同様の効果を、サイトマップ上で設定できます。

特殊機能

エイリアス機能

pathalias: の後に参照先ページの path または id が続く形式の場合、そのページは 指示された参照先ページへの エイリアスとして扱われます。

エイリアスページは、パンくずやナビゲーション上には存在しますが、URLを持っていません。このリンクをクリックすると、エイリアスの参照先ページへ遷移します。

例: alias:/hoge/index.html = /hoge/index.html のエイリアス。

ダイナミックパス機能

パスの中に、ワイルドカード {*xxxx}{$xxxx} を含めることで、ダイナミックパス機能を利用できます。

ダイナミックパスは、ワイルドカードにマッチURLのアクセスを処理します。ルーティングのような役割を果たします。

ワイルドカードにマッチした値は、 $px->site()->get_path_param() で受け取ることができます。

例: ダイナミックパス /hoge/fuga/{*xxxx} が定義されているとき、リクエスト /hoge/fuga/foo/bar.html を処理するとき、 $px->site()->get_path_param('xxxx') は、 foo/bar.html を返します。

xxxx は任意の文字列で、1つのURLの中でユニークである必要があります。 xxxx に空文字を使い、 {*} のように使用することもできます。 この場合、 引数なしの $px->site()->get_path_param() で受け取ることができます。

{$xxxx} は スラッシュを含まないディレクトリ名またはファイル名にマッチします。 {*xxxx} は、スラッシュも含めた文字列にマッチします。

アクター機能

ロール(role)列に、参照先ページの path または id が入力されている場合、そのページは参照先ページのアクター(役者)になります。

アクターは、URLとページコンテンツの実体を持ちますが、パンくず構造上はロール(参照先)と同じページとして振る舞います。

その他のヒント

  • 定義列は、任意に並べ替えることができます。
  • 定義は任意の名称で追加することができ、コンテンツやテーマから簡単に参照できます。例えば、 * custom_col と定義した列の値は、$px->site()->get_page_info( 'page_id', 'custom_col' )$px->site()->get_current_page_info( 'custom_col' ) で取得することができます。
  • サイトマップの拡張項目 * editor-comment に文字列を入力しておくと、 Pickles 2 Desktop Tool のコンテンツの編集画面上に表示することができます。コンテンツを編集する担当者へのメッセージ欄として利用できます。
  • サイトマップCSVを分割した場合、ファイル名でソートされ、昇順で処理されます。 重複するページが記述されている場合、後に処理された方が有効になります。
  • サイトマップCSVを更新すると、初回アクセス時に解析され、キャッシュが作成されます。2回目以降のアクセスではキャッシュを参照するため高速ですが、初回アクセス時には応答にしばらく時間がかかることがあります。かかる時間はサイトマップに含まれるページ数に比例します。