whblog公式サイト

<<   2018年06月   >>
SunMonTueWedThuFriSat
     12
3456789
10111213141516
17181920212223
24252627282930
メニュー
検索
新着記事
カテゴリ
過去ログ
コメント
トラックバック
    テンプレートの仕様
    /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以外の構文でも指定できます。

    この記事へのコメント
    名前:
    URL
    コメント:
    この記事へのトラックバック :
    whblog 1.5