サイトマップは、ウェブサイト全体のページ構成を定義する概念です。
1ページ1行の表形式で表現され、CSV または Microsoft Excel のファイル形式で編集できます。
サイトマップCSVは、ホームディレクトリ(px-files/) の中にある、 sitemaps/ ディレクトリ直下に格納します。
サイトマップは複数のCSVファイルに分割して管理することができます。 px-files/sitemaps/ の直下にある 拡張子 *.csv のファイルはすべて収集され、併せて1つのサイトマップツリーとして処理されます。
Pickles 2 は、サイトマップの定義をグラフィカルな Excel ファイル形式で編集する機能を備えています。 これは、 pickles2/px2-sitemapexcel プラグインによって追加された機能です。
Pickles 2 本来の機能では、 CSVファイルで管理されるのが基本です。このページでは、CSVファイルでの編集について説明します。
拡張されたExcelファイルでの編集機能については、 プラグインのマニュアル を参照してください。
* 定義名 のように、先頭にアスタリスクを記述します。* 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 | コンテンツの処理方法 |
ページのパスを入力します。必須項目です。
パスは、スラッシュから始まる絶対パスで記入します。URLの origin 部分は含みません。
Pickles 2 は、ページのユニークな識別子として path を利用しますので、同じパスのページを複数定義することはできません。
もし、プロジェクト設定の $conf->path_controot に深い階層が設定されている場合、絶対パスの起点はこのディレクトリになります。
path には、後述するエイリアスとダイナミックパスをセットすることができます。
コンテンツファイルのパスを入力します。省略した場合、path が示すパスにあるコンテンツファイルを参照します。
ページのIDを入力します。 path と同様、ページを一意に識別するための記号なので、必ずユニークな値でなければなりません。
ただし、省略することが可能です。省略時、 Pickles 2 が自動的に連番を含む文字列をIDとして与えます。
トップページは例外的に、常に 空白文字列 として定義されます。
ページのタイトルです。 titleタグや、h1タグ、パンくず、ナビゲーション上のリンクラベルなどに利用されます。
パンくず表示用のタイトル文字列です。省略時、 title と同じ文字列が採用されます。
H1タグ表示用のタイトル文字列です。省略時、 title と同じ文字列が採用されます。
H1タグは、他の用途と異なり、改行を表現することができるエリアです。サイトマップCSV上では改行コードを入力して改行を表現できます。テーマテンプレート上では、明示的に、改行コードを <br /> に変換して出力する必要があります。
リンクラベル用のタイトル文字列です。省略時、 title と同じ文字列が採用されます。
titleタグ用のタイトル文字列です。省略時、 title とサイト名を組み合わせて自動生成されます。
パンくず上のパス情報を入力します。
トップページと自分自身を除く間の階層のページパスまたはページIDを、 > 記号で繋いだ形式で表現します。
ローカルナビ等の一覧に表示するかしないかを決めるフラグです。 1 をセットした場合表示され、0 または 空白 とした場合には、表示されなくなります。
テーマレイアウトを選択するスイッチです。任意の文字列でレイアウトを指定できます。
例えば top と入力した場合、テーマレイアウトの top.html が適用されます。
省略時は、 default.html が適用されます。
ページの表示順を、数値で指示します。 省略時、サイトマップCSVに記入したままの並び順になります。
metaタグの keywords 文字列として利用されます。
metaタグの description 文字列として利用されます。
1 (=カテゴリトップページ)または 0 (=下層の通常ページ)で指定します。省略時は 0 と同じです。
論理階層がトップページ直下の2階層目で、かつ list_flg が 1 にセットされているページでは、 category_top_flg が 1 の場合、グローバルナビゲーションに含められ、category_top_flg が 0 の場合は、ショルダーナビゲーションに含められます。
後述する アクター機能を使います。
$conf->paths_proc_type と同様の効果を、サイトマップ上で設定できます。
path が alias: の後に参照先ページの 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 アプリケーション のコンテンツの編集画面上に表示することができます。コンテンツを編集する担当者へのメッセージ欄として利用できます。