BlognPlus 用タグ拡張モジュール

スキンで使用できる BlognPlus 独自タグの種類を増やします。
あなたのアイディア次第で、ブログの表現力を増す事が出来ます。

タグ拡張モジュールの機能

下のスクリーンショットでは「タグ拡張モジュール」を使って以下の事を実現しています。

これらは「タグ拡張モジュール」で出来る事のほんの一部です。

※ スクリーンショット内で使われている猫アイコンは「猫の小手先・フリー画像集」の物を使わせていただきました。

動作例

モジュールを導入する前に、どんな風に動作しているかご覧になりたい場合は、以下のサイトを参考にして下さい。

※ トラックバックをいただいたサイト様に無断でリンクさせていただいています。

動作環境

ダウンロード

利用規約

  1. このモジュールの所有権は 「nJOY」管理人 CJ にあります。
  2. モジュールを使用して損害が生じても、「nJOY」管理人 CJ は一切の責任を負いかねます。
  3. モジュールの再配布・販売等は一切禁じます。
  4. 利用者個人の責任において改造は自由に行えます。
  5. スクリプト内にあるプログラム名・バージョン名・著作権表示を削除・変更する事は認めません。
  6. 当規約に同意された方のみ、このモジュールを無料で使う事が出来ます。
  7. もしよければ、あなたのブログに「nJOY BLOG」へのリンクをはってやってください。管理人が大変喜び、モジュール作成の励みになります。

タグ拡張モジュール」(xtratags.zip, 14kb)


インストール方法(主な手順)

  1. ダウンロードした圧縮ファイル(xtratags.zip)を解凍する。
  2. 「xtratags」フォルダを BlognPlus ディレクトリ下の /module/ にアップロードする。
  3. 「index.php」に1行書き加える。
  4. スキンファイルの好きな場所に好きなタグを書き加える。

モジュール構成ファイル

「index.php」の書き換え

「index.php」に赤い文字列を追加
BlognPlus v2.5.6 - 1180行目あたり / BlognPlus v2.6.2 - 970行目あたり

  1. }else{
  2. $logtrackback = $t.'(x)';
  3. }
  4. $tmpbuf = str_replace ("{LOGTRACKBACK}", $logtrackback, $tmpbuf);
  5. if (function_exists(xtratags)) $tmpbuf = xtratags($tmpbuf, $val);
  6. if ($val["trackback_ok"] == "1") {
  7. $about = BLOGN_HOMELINK."index.php?e=".$val["id"];
  8. $identifier = $about;

インストール作業(BlognPlus v2.6.x 以降)

BlognPlus v2.6.x 以降では上記の手順に加え、次のインストール作業が必要になります。

インストール

「xtratags」フォルダを /module/ ディレクトリ下にアップロード後、未登録一覧に入っている「独自タグ拡張モジュール」の [インストール] ボタンを押してください。

動作設定

PC
PC 用スキンに独自タグを記述した場合、「PC」欄を「ON」にしてください。
携帯
携帯用スキンに独自タグを記述した場合、「携帯」欄を「ON」にしてください。

優先順位

特に制限はありません。

タグ拡張モジュールで使えるタグ

{LOGLOOP]〜{/LOGLOOP} 内に書く必要のあるタグ
{XT_LOG_EID}記事の記事IDを出力
{XT_LOG_CID}記事が属するカテゴリーIDを出力
{XT_LOG_SID}記事が属するサブカテゴリーIDを出力 (*1)
{XT_LOG_CSID}記事が属するカテゴリーとサブカテゴリーIDを出力 (*2)
{XT_LOG_UID}記事を書いたユーザーIDを出力
{XT_LOG_CMT}記事のコメント数を出力
{XT_LOG_TRK}記事のトラックバック数を出力
{XT_LOG_ETITLE}記事のタイトルを出力 (*3)
{XT_LOG_MORE}「記事の続き」を出力
{XT_LOG_TWEET}「記事の本文」の頭から20文字+末尾に「…」を出力
{XT_LOG_JDAY}曜日を日本語で出力(日〜土) (*4)
{XT_LOG_CDAY}曜日を中国語で出力(星期天〜星期六) (*4)
{XT_LOG_KDAY}曜日を韓国語で出力(일요일〜토요일) (*4 *5)
{XT_LOG_DEDAY}曜日をドイツ語で出力(Sonntag〜Samstag) (*4)
{XT_LOG_ESDAY}曜日をスペイン語で出力(domingo〜sabado) (*4)
{XT_LOG_FRDAY}曜日をフランス語で出力(dimanche〜samedi) (*4)
{XT_LOG_ITDAY}曜日をイタリア語で出力(domenica〜sabato) (*4)
{XT_LOG_DOTW}曜日を番号で出力(0〜6) (*4)
{XT_LOG_JPMONTH}月を日本語で出力(睦月〜師走) (*4)
{XT_LOG_CNMONTH}月を中国語で出力(ー〜十二) (*4)
{XT_LOG_DEMONTH}月をドイツ語で出力(Januar〜Dezember) (*4)
{XT_LOG_ESMONTH}月をスペイン語で出力(enero〜diciembre) (*4)
{XT_LOG_FRMONTH}月をフランス語で出力(janvier〜decembre) (*4)
{XT_LOG_ITMONTH}月をイタリア語で出力(Gennaio〜Dicembre) (*4)
「続きを読む」折りたたみ用のタグ
{XT_LOG_CONT}折りたたみ用に「記事の続き」を出力
{XT_CSS_CONT}折りたたまれた文書の表示を制御するスタイルシート (*6)
記述する場所を選ばないタグ
{XT_MODE}ログインモードの時は「user」と出力
ゲストモードの時は「guest」と出力
記事評価モジュール用タグ({LOGLOOP]〜{/LOGLOOP} 内に書く必要あり)
{XT_LOG_RATEIT_ST}平均評価を表示 (*7)
{XT_LOG_RATEIT_NO}評価数を表示 (*7)
OnThisDay 用タグ({LOGLOOP]〜{/LOGLOOP} 内に書く必要あり)
{XT_LOG_OTD_MAIN}「n年前の記事」を表示 (*8)
キーワード+概要生成モジュール用タグ({LOGLOOP]〜{/LOGLOOP} 内に書く必要あり)
{XT_LOG_METADESC}概要を表示(*9)

* 補足

  1. メインカテゴリーだけでサブカテゴリーに属さない場合は『0』
  2. {XT_LOG_CID}-{XT_LOG_SID} では『1-0』になるような場合、{XT_LOG_CSID} だと『1-』と出力
  3. {LOGTITLE} とは違い個別記事へリンクしません
  4. {LOGYMD}〜{/LOGYMD} および {LOGHMS}〜{/LOGHMS} の中に記述する場合は、一部の文字をエスケープする必要があります。
  5. スキンで <html lang="ja"> となっている場合は <html> と変更してください(Internet Explorer の文字化け対策)
  6. スキンの CSS ファイルではなく、HTML ファイルの方に記述してください。
  7. 記事評価モジュール」がインストールされている必要があります。
  8. OnThisDay for BlognPlus」がインストールされている必要があります。
  9. キーワード+概要生成モジュール」がインストールされている必要があります。

エスケープ

{LOGYMD}〜{/LOGYMD} の中に {XT_LOG_JDAY} 等のタグをそのまま書くと、特定の文字が日付フォーマット文字列と解釈されてしまいます。この現象を回避する為、一部の文字をエスケープする必要があります。

エスケープ前エスケープ後
{XT_LOG_JDAY}{X\T_\L\O\G_J\D\A\Y}
{XT_LOG_CDAY}{X\T_\L\O\G_C\D\A\Y}
{XT_LOG_KDAY}{X\T_\L\O\G_K\D\A\Y}
{XT_LOG_DEDAY}{X\T_\L\O\G_\DE\D\A\Y}
{XT_LOG_ESDAY}{X\T_\L\O\G_E\S\D\A\Y}
{XT_LOG_FRDAY}{X\T_\L\O\G_\FR\D\A\Y}
{XT_LOG_ITDAY}{X\T_\L\O\G_\I\T\D\A\Y}
{XT_LOG_DOTW}{X\T_\L\O\G_\D\O\T\W}
{XT_LOG_JPMONTH}{X\T_\L\O\G_JP\M\O\N\T\H}
{XT_LOG_CNMONTH}{X\T_\L\O\G_C\N\M\O\N\T\H}
{XT_LOG_DEMONTH}{X\T_\L\O\G_\DE\M\O\N\T\H}
{XT_LOG_ESMONTH}{X\T_\L\O\G_E\S\M\O\N\T\H}
{XT_LOG_FRMONTH}{X\T_\L\O\G_\FR\M\O\N\T\H}
{XT_LOG_ITMONTH}{X\T_\L\O\G_\I\T\M\O\N\T\H}

既知のバグ

{XT_LOG_EID} など記事内に書いてもなぜかタグと認識され、スキンに書いたのと同様に変換されたものが記事に出力されます。

タグ拡張モジュールを使ったアイディア

曜日を日本語で出力

スキンの HTML ファイルに下記のように記述すると上述の例の様に出力されます。

  1. <div class="entry_date">
  2. {LOGYMD}Y年m月d日{/LOGYMD} ({XT_LOG_JDAY}
  3. </div>

曜日によって日付の色を変化させる

まずスキンの HTML ファイルに下記のように記述します。

  1. <div class="entry_date">
  2. <span class="w{XT_LOG_DOTW}">{LOGYMD}Y/m/d, l{/LOGYMD}</span>
  3. </div>

スキンの CSS ファイルに下記の記述を加えてください。

  1. .w0 { color: #ff0000; } /* 日曜日の色=赤 */
  2. .w6 { color: #0000ff; } /* 土曜日の色=青 */

カテゴリー別の画像を配置

まずスキンの HTML ファイルに下記のように記述します。

  1. <div class="entry_title">
  2. <img src="{XT_LOG_CID}.gif" align="absmiddle"> {LOGTITLE}
  3. </div>

「カテゴリーID.gif(例:1.gif、2.gif、etc)」をカテゴリーの数だけ用意し、index.php と同じディレクトリに画像をアップロードしてください。

  1. <div class="entry_title">
  2. <img src="{XT_LOG_CID}-{XT_LOG_SID}.gif" align="absmiddle"> {LOGTITLE}
  3. </div>

↑のように書けばさらに細かくサブカテゴリー別にもアイコンを指定出来ます。

ログインユーザーだけコメント出来るようにする

記事は誰でも読めるようにしたいけれど、コメントをつけるのはログインしたユーザーのみという事が可能です。
(CSS で非表示にしているだけなので、スタイルシートを無視すれば誰でも書き込めます)

スキンのHTMLファイル、コメント投稿フォームを <div class="{XT_MODE}">〜</div> で囲みます。

  1. <div class="{XT_MODE}">
  2. <div class="entry_date">コメントする</div>
  3. <div class="entry_body">
  4. <form action="index.php?mode=comment" method=post>
  5. <input type="hidden" value="{CEID}" name="blogn_cid">
  6. <label for="c_name">name:</label><br>
  7. <input id="c_name" tabindex="1" name="blogn_cname" value="{CNAME}"><br>
  8. <label for="c_email">email:</label><br>
  9. <input id="c_email" tabindex="2" name="blogn_cemail" value="{CEMAIL}"><br>
  10. <label for="c_url">URL:</label><br>
  11. <input id="c_url" tabindex="3" name="blogn_curl" value="{CURL}"><br>
  12. <label for="c_mes">comments:</label><br>
  13. <textarea id="c_mes" style="WIDTH: 400px" tabindex="4" name="blogn_cmes" rows="10" cols="40"></textarea><br>
  14. <input type="submit" value="コメント送信">
  15. <input id="set_cookie" type="checkbox" value="on" name="set_cookie">
  16. <label for="set_cookie">Cookieに登録</label>
  17. </form>
  18. </div>
  19. </div>

スキンの CSS ファイルに下記の記述を加えてください。

  1. .guest { display: none; } /* ゲストユーザーには非表示 */
  2. .user { display: block; } /* ログインユーザーには表示 */

「続きを読む」を折りたたむ

詳しいやり方は『BlognPlus で「続きを読む」を折りたたむ』を参照。

他のモジュールとの連携

「タグ拡張モジュール」は以下のモジュール単体ではできない機能を補完できます。

詳しくは各モジュールの解説ページを参照してください。

アップグレードの仕方

注意

「記事評価モジュール」「OnThisDay for BlognPlus」を導入済みの場合は、どちらとも ver1.30 以降ににアップデートする必要があります。

ver1.30 〜 1.40 → ver1.41

全てのファイルを上書きアップロードしてください。

ver1.03 〜 1.16 → ver1.41

全てのファイルを上書きアップロードしてください。

「index.php」の追加部分の記述が変更になりました。
BlognPlus v2.5.6 で使用している場合は、旧記述のまま使って問題ありません。

ver1.08 から {XT_E_EDIT} が使えなくなりました。お手数ですがスキンから {XT_E_EDIT} の記述を削除してください。

バージョンアップ情報

2011/04/25
ver1.41 {XT_LOG_TWEET} 追加
2010/02/16
ver1.40 「キーワード+概要生成モジュール」連携機能追加
2009/05/30
ver1.31 BlognPlus v2.6.2 に対応
2009/04/18
ver1.30 管理画面に固定メニュー導入
2009/04/17
ver1.20 OnThisDay 拡張機能追加({XT_LOG_OTD_MAIN})
2009/04/16
ver1.18 記事評価モジュール併用時の不具合修正
2009/04/07
ver1.17 BlognPlus v2.6.0 対応
2008/07/31
ver1.16 改行処理の不具合修正
2007/01/14
ver1.15 {XT_LOG_RATEIT_ST} {XT_LOG_RATEIT_NO} 追加
2007/01/14
ver1.14 「記事評価モジュール」と連携出来るよう修正
2006/12/29
ver1.13 BlognPlus v2.4.0 に対応
2006/04/06
ver1.12 {XT_LOG_CMT}、{XT_LOG_TRK} 追加
2005/12/01
ver1.11 日本/中国/ドイツ/スペイン/フランス/イタリア語で月を出力するタグ追加
2005/12/01
ver1.10 ドイツ/スペイン/フランス/イタリア語で曜日を出力するタグ追加
2005/12/01
ver1.09 {XT_CONT} に無駄な </a> があったので除去
2005/11/06
ver1.08 不具合があったため {XT_E_EDIT} 廃止
2005/11/05
ver1.07 {XT_LOG_CONT} {XT_LOG_MORE} {XT_CSS_CONT} 追加
2005/11/04
ver1.06 {XT_MODE} 追加
2005/11/03
ver1.05 {XT_LOG_CSID} 追加
2005/10/31
ver1.04 {XT_LOG_KDAY} 追加
2005/10/28
ver1.03 {XT_E_EDIT} 追加
2005/10/25
ver1.02 {XT_LOG_JDAY}、{XT_LOG_CDAY}、{XT_LOG_DOTW} 追加
2005/10/21
ver1.01 {XT_LOG_UID}、{XT_LOG_ETITLE} 追加
2005/10/20
ver1.00 {XT_LOG_EID}、{XT_LOG_CID}、{XT_LOG_SID} 追加

サイト作成のヒント集に戻る