NP_TrackBack

TrackBack機能追加。
主な理由は、日本ボイタ協会の方*1に必要を感じたため。
記述の仕方は、見直し確認する必要あり。
例によって、nakahara21さんちのNP_TrackBackバージョン1.23bj7を入れた。
http://xx.nakahara21.net/item-397.html
[以下の説明:2004/3/27追加]
説明の元ネタは、Felさんち*2

  • 注1http://www.vojta.jp/nucleus/index.php
  • 注2http://nucleus.fel-is.info/item/61

Blogに表示させる

  • defaultテンプレート – アイテムの本体
    trackback数とリストへのリンクを生成


    <?php
    <div class="iteminfo">
    <%
    time%> -
    <a href="<%authorlink%>"><%author%></a> -
    <%edit%>
    <%comments%> -
    <a href="<%itemlink%>#trackback">
    <%TrackBack(count)%> TrackBacks</a>
    </div>
    ?>

  • スキン – アイテム
    受け取ったtrackbackのリストとtracbackするためのURLを表示


    <?php
    <a name="trackback" id="trackback"></a>
    <h2>TrackBack</h2>
    <%TrackBack(list)%>
    ?>

  • テンプレート-アイテムリンクの編集
    ログイン時にping発射フォームへのリンクTBを表示


    <?php
    <a href="<%TrackBack(pingformlink)%>">TB</a>
    ?>

変数

  • <%TrackBack(list)%>
    そのアイテムが受け取ったTrackbackのリスト
  • <%TrackBack(code)%>
    アイテムのRDFコード
  • <%TrackBack(count)%>
    そのアイテムが受け取ったTrackbackの数
  • <%TrackBack(tburl)%>
    そのアイテムに対してTrackbackPingを打つときに入力する
  • <%TrackBack(pingformlink)%>
    そのアイテムから他の記事にTrackbackを打つフォームを表示するリンク
    (テンプレートの<%edit%>内で表示するようにすると使いやすい)
  • <%TrackBack(manualpingformlink)%>
    その記事に対して手動でPingを打つためのフォームを表示するリンク

NP_TrackBack.php自体のカスタマイズ

リストに使われているタグ/Trackbackが無い場合の表示/URLの提示などを変更するためには、NP_TrackBack.php自体のカスタマイズが必要。
NP_TrackBack.phpをエディタで開いて、
function init()すぐ下$this->template = arrayの'(クォート)に囲まれている部分を書き換える。

  • Trackback URLの表示
    下記の例だと、テキストボックス内部に表示される。
    <%tburl%>が当該URLになるので、クォート内を適宜変更できる。


    <?php
    'LIST_HEADER' => ' <div class="commentbody">Trackback URL<br /> <input class="formfield" size="70" accesskey="4" value="<%tburl%>" /></div>'
    ?>

  • 受け取ったTrackbackのリスト表示部分
    • <%url%>:送信元記事のURL
    • <%title%>:送信元記事のタイトル
    • <%blogname%>:送信元Blogの名前
    • <%timestamp%>:Trackbackを受け取った時間
    • <%delete%>:当該Trackbackの削除
    • <%excerpt%>:送信元記事の本文の一部表示

    <?php
    'LIST_ITEM' => '<h3 class="comment"><a href="<%url%>">「<%title%>」</a> <span class="commentinfo"><%blogname%> pinged on <%timestamp%> <%delete%></span> </h3><div class="commentbody"><%excerpt%> </div>'
    ?>

  • trackbackを受け取っている場合のリストフッタ

  • <?php
    'LIST_FOOTER' => ''
    ?>

  • 管理者ログイン時に、当該trackbackを削除するために表示されるリンクの文字列
    この状態だと[delete]というリンクがログイン状態だと現れ、クリックするとそのtrackbackを削除される。


    <?php
    'DELETE' => '[delete]'
    ?>

  • Trackbackを受け取った内場合の表示
    (‘LIST_HEADER’の部分とほぼ同じ)


    <?php
    'NO_TRACKBACKS' => 'Trackback URL<br /> <input class="formfield" size="50" accesskey="4" value="<%tburl%>" />'
    ?>

  • Local Ping
    同じBlog内部でTrackbackをうつことにより、簡単に関連記事を表示できる。
    保存される場所がtrackbackとは異なるので、NP_LatestWritebacksなどを使っていても受け取った trackback一覧には表示されない。
    アイテムの追加/編集ウィンドウのOptionのTrackback欄に「Local?」というチェックボックスがある。
    これにチェックを入れて送信すると内部trackbackとなる。
    受け取ったtrackbackを表示するには<%TrackBack (locallist)%>とスキンかテンプレートに追記する。
    表示のカスタマイズは通常Trackbackの場合と同様に、NP_TrackBack.phpを直接編集。
    デフォルトだと44行目から48行目がそれ。
    雛型の担当する場所と使われている変数は上記と同じ

コメント

タイトルとURLをコピーしました