/template/テンプレート名
のディレクトリに
css.css
description.txt
html.dat
layout.dat
thumbnail.png
comment.js
を作成します。
css.css
はブラウザから直接アクセスされる通常のcssです。
CGIでは使わないのでファイル名は別のものでも構いません。
comment.js
コメント関連のJavaScriptです。
使うならテンプレートで読み込ませてください。
これを使うと、「スパム対策」「クッキー(名前)」「二重投稿防止」機能がコメントフォームにつきます。
これを使う場合、コメントフォームの、「form」「名前入力」「submit」にはdefaultと同じidを指定してください。
formのactionには、comment.cgiの位置を末尾「/」で指定してください。scriptがonload時に「comment.cgi」を追加します。
description.txt
管理ページのテンプレート選択画面に表示される説明文のplainテキストです。
html.dat
テンプレート本体です。
HTMLベースですが、特殊構文があります。
layout.dat
管理ページのレイアウト編集(プラグイン配置)で利用する部分HTMLです。
HTML文としてそのまま埋め込みますが、
id="Sidebar番号" class="Sidebar"
の領域はプラグインをドロップ可能になります。
id="Sidebar番号"
の番号がサイドバーIDです。
サイドバーIDは1からの連番で間が開いてはいけません。
thumbnail.png
管理ページで表示するサムネイル画像です。
160x120の普通のpngです。
テンプレートの特殊構文
&$変数名;
変数の値を埋め込みます。
変数名 |
説明 |
&$BlogId; |
ブログID |
&$CategoryId; |
カテゴリID。カテゴリページ以外は空。 |
&$EntryId; |
記事ID。記事ページ以外は空。 |
&$EntryPage; |
記事ページだと1。それ以外は空。 |
&$EntryTitle; |
記事ページの場合、そのページの記事のタイトル。 |
&$EntryCategoryId; |
記事ページの場合、そのページの記事のカテゴリID。 |
&$TopPage; |
トップページなら1。それ以外は空。type=list&page=0の場合もトップとみなされます。 |
&$ListPage; |
リストページなら1。それ以外は空。 |
&$PageType; |
リストページ=list、記事ページ=entry、カテゴリページ=category、月別ページ=month、日別ページ=day、検索=search |
&$PageNumber; |
ページ番号。(基本的にクエリ「page」の値。指定がない場合は0。記事ページの場合は記事番号になります。) |
&$ListLength; |
リストの長さ。(記事ページは値なし) |
&$StartNumber; |
リスト中のそのページの1番目の記事の位置。(先頭は1です。記事ページは値なし) |
&$LastNumber; |
リスト中のそのページの最後の記事の位置。(先頭は1です。記事ページは値なし) |
&$SearchWord; |
検索文字列。(HTML特殊文字はエスケープされた状態です。) |
&$SearchResults; |
検索結果数。(検索インデックス作成後に記事の削除が行われた場合、削除された記事もカウントされます。) |
&$SidebarId; |
サイドバーID。PluginLoop中のみ有効。 |
&$PluginLoopCount; |
PluginLoop中のループカウント。0から。 |
&$PluginLoopTitle; |
PluginLoop中のそのプラグインの出力した見出し。 |
&$PluginLoopBody; |
PluginLoop中のそのプラグインの出力した本文。プラグインが空出力した場合、プラグインは表示されない。 |
&$EntryLoopCommentCount; |
EntryLoop中のその記事のコメント数。 |
&$CommentLoopCount; |
CommentLoop中のループカウント。0から。 |
&$CommentLoopId; |
CommentLoop中のそのコメントのコメントID。 |
&$CommentLoopName; |
CommentLoop中のそのコメントの投稿者名。 |
&$CommentLoopUrl; |
CommentLoop中のそのコメントに記入されたURL。 |
&$CommentLoopBody; |
CommentLoop中のそのコメントの本文。 |
&$CommentLoopDateYear; |
CommentLoop中のそのコメントの年。 |
&$CommentLoopDateMonth; |
CommentLoop中のそのコメントの月。 |
&$CommentLoopDateDay; |
CommentLoop中のそのコメントの日。 |
&$CommentLoopDateHour; |
CommentLoop中のそのコメントの時。 |
&$CommentLoopDateMinute; |
CommentLoop中のそのコメントの分。 |
&$CommentLoopDateSecond; |
CommentLoop中のそのコメントの秒。 |
&$EntryLoopTrackbackCount; |
EntryLoop中のその記事のトラックバック数。 |
&$TrackbackLoopCount; |
TrackbackLoop中のループカウント。0から。 |
&$TrackbackLoopId; |
TrackbackLoop中のそのトラックバックID。 |
&$TrackbackLoopBlogName; |
TrackbackLoop中のそのトラックバックのブログ名。 |
&$TrackbackLoopUrl; |
TrackbackLoop中のそのトラックバックのURL。 |
&$TrackbackLoopExcerpt; |
TrackbackLoop中のそのトラックバックの要約。 |
&$TrackbackLoopTitle; |
TrackbackLoop中のそのトラックバックの件名。 |
&$TrackbackLoopDateYear; |
TrackbackLoop中のそのトラックバックの年。 |
&$TrackbackLoopDateMonth; |
TrackbackLoop中のそのトラックバックの月。 |
&$TrackbackLoopDateDay; |
TrackbackLoop中のそのトラックバックの日。 |
&$TrackbackLoopDateHour; |
TrackbackLoop中のそのトラックバックの時。 |
&$TrackbackLoopDateMinute; |
TrackbackLoop中のそのトラックバックの分。 |
&$TrackbackLoopDateSecond; |
TrackbackLoop中のそのトラックバックの秒。 |
&$FirstEntry; |
EntryLoop中の一番目の記事なら1違うなら空。 |
&$EntryLoopCount; |
EntryLoop中のループカウント。 |
&$EntryLoopId; |
EntryLoop中のその記事の記事ID。 |
&$EntryLoopTitle; |
EntryLoop中のその記事の記事タイトル。 |
&$EntryLoopBody; |
EntryLoop中のその記事の本文。 |
&$EntryLoopMore; |
EntryLoop中のその記事の追記。 |
&$EntryLoopCategoryId; |
EntryLoop中のその記事のカテゴリID。 |
&$EntryLoopCategoryName; |
EntryLoop中のその記事のカテゴリ名。 |
&$EntryLoopEntryUrl; |
EntryLoop中のその記事の記事ページURL。 |
&$EntryLoopCategoryUrl; |
EntryLoop中のその記事のカテゴリページURL。 |
&$EntryLoopDateYear; |
EntryLoop中のその記事の年。 |
&$EntryLoopDateMonth; |
EntryLoop中のその記事の月。 |
&$EntryLoopDateDay; |
EntryLoop中のその記事の日。 |
&$EntryLoopDateHour; |
EntryLoop中のその記事の時。 |
&$EntryLoopDateMinute; |
EntryLoop中のその記事の分。 |
&$EntryLoopDateSecond; |
EntryLoop中のその記事の秒。 |
&$BlogName; |
ブログ名 |
&$AuthorName; |
ブログの著者名 |
&$Description; |
ブログの説明 |
&$Keywords; |
ブログのキーワード |
&$BlogTop; |
ブログのトップページURL。モバイルモードならモバイルトップ。 |
&$TopEntry; |
トップ記事設定によって表示されている場合は記事ID。他の場合は空。 |
&$CategoryName; |
カテゴリページの場合そのカテゴリ名。カテゴリページ以外は空。 |
&$Next; |
次のページのページ番号。記事ページの場合は次の記事の記事ID。 |
&$Prev; |
前のページのページ番号。記事ページの場合は前の記事の記事ID。 |
&$NextName; |
記事ページの次の記事の記事タイトル。 |
&$PrevName; |
記事ページの前の記事の記事タイトル。 |
&$NextPageUrl; |
次のページのURL。 |
&$PrevPageUrl; |
前のページのURL。 |
&&if:条件;
間の文章。
&/if;
if文もどきです。
条件には変数名を入れて値の有無を判別するか、
「変数名=文字列」で変数と文字列の一致を判別できます。
変数の値の有無の判別は、完全な値なしかその他の判別です。数値の0は値ありとなります。
演算子は使えません。
例
&&if:Next;
「次のページがあります!」
&/if;
変数の値が空の場合は表示されません。
AND
&&if:Next&Prev;
「次のページがあります。前のページもあります!」
&/if;
&で区切ると複数の変数の値を確認します。3個以上でも可。
ORはありません。
NOT
&&if:Next&!Prev;
「次のページがあります。前のページはありません!」
&/if;
頭に!つけると逆になります。
文字列比較
&&if:EntryLoopCount=1;
「2番目の記事です!」
&/if;
変数名=文字列
で、一致が条件となります。
文字列には、「:」と「;」は使えません。
&&EntryLoop;
間の文章。
&/EntryLoop;
そのページに表示すべき記事の分だけループします。
&&CommentLoop;
間の文章。
&/CommentLoop;
EntryLoop中で使います。
EntryLoop中の現在の記事へのコメントの分だけループします。
&&TrackbackLoop;
間の文章。
&/TrackbackLoop;
EntryLoop中で使います。
EntryLoop中の現在の記事へのトラックバックの分だけループします。
&&PluginLoop数字;
間の文章。
&/PluginLoop数字;
数字で指定されたIDのサイドバーに設定されたプラグインの分だけループします。
特殊構文のネスト
&&if:条件;
&&if:条件;
間の文章。
&/if;
&/if;
こんな感じはできません。
&&if:数値:条件;
&&if:条件;
間の文章。
&/if;
&/if:数値;
こんな感じで:を一個はさんで数値を入れると、
構文IDを設定できます。
IDなし又は違うIDの終了文では終了しません。
使い道はないと思いますが、if以外の構文でも指定できます。