Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2005-07-07 12:09:33

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: TrackBackプラグインの使い方

Felさんのページが,アクセスできないようなので,キャッシュに残っていたのを貼っておきます。改行などは適当に調整しています。

NucleusはプラグインによってTrackBackを実装できます。
ここでは表示方法からカスタマイズ方法まで簡単にまとめてみました。
私自身トラックバックの便利さとかを大して理解しているわけではないので細かい解説は他のページをご覧ください。

一つの記事に対して、コメントを自分のBlogで行う、関連記事を自分のところで扱ったという通知、他のところで似た記事を見かけたよというお知らせ、などに使える機能だと私は解釈しています。記事へのリンクも付随するため、やり取りを活発化させる効用もあるようです。

今回はまみおさんの日本語版をタカさんがさらに改造したバージョン1.23bjを題材としています。個人的にローカルping機能が非常に面白いと感じたので、どうせならまとめて紹介してしまおうと思いまして。まみおさんのバージョン1.2bも基本的な導入方法は同じです。お好みでお好きなほうをお選びください。

ファイルはEUC-JPで書かれていますので、UTF-8版をご利用の場合はテキストエディタの文字コードEUC-JPで開き、UTF-8で保存しなおしてください。(BOMは入れないように注意)

    * インストール
      解凍してできたNP_TrackBack.phpを、FTPで/nucleus/pluginsにアップロードします。次に管理領域にログインして、「Nucleusの管理」->「プラグインの管理」のページへ行き、「新しいプラグインをインストール」の項から TrackBackを選んで「プラグインのインストール」ボタンを押してください。
      「インストール済み」項に「TrackBack for Nucleus」というテーブルが追加されているはずです。これでインストールは完了です。

    * プラグインのオプション
      次に「TrackBack for Nucleus」の右端にある「編集 オプション」というリンクをクリックしてください。TrackBackプラグインには5つのオプションが存在します。必要に応じて書き換えてください。
          o Only allow valid itemids as trackback-ids
            有効なアイテムのIDのみをTrackbackのIDとして扱う
          o Send e-mail notification on ping receipt
            TrackbackPingを受け取ったときにメールで通知する
          o Which e-mail address to send these notification to?
            上のオプションを有効にした場合のメールの送り先
          o Accept pings
            Pingを受け取るか否か
          o Allow sending pings
            Pingを送信できるようにするか否か

    * Blogに表示させる
      ここまででTrackBackを使う準備は整いました。けれども、これだけではTrackBackは使えません。というのもスキン上に表示するよう設定しないと、インターフェイスが現れないからです。そこでスキンとテンプレート内に次のように記述します。(デフォルトスキンを使っている場合なので、使うスキンによって記述する場所や内容を手直ししてください)
          o defaultテンプレートのアイテムの本体内。以下の記述によりフロントページのコメントリンクなどの横にtrackback数とリストへのリンクが生成されます。
            <div class="iteminfo">
            <%time%> -
            <a href="<%authorlink%>"><%author%></a> -
            <%edit%>
            <%comments%> -
            <a href="<%itemlink%>#trackback">
            <%TrackBack(count)%> TrackBacks</a>
            </div>

          o スキンのアイテム項、アイテムの下辺りに。次の記述により、アイテム選択時に受け取ったtrackbackのリストとtracbackするためのURLが表示されます。
            <a name="trackback" id="trackback"></a>
            <h2>TrackBack</h2>
            <%TrackBack(list)%>
          o テンプレート-アイテムリンクの編集内に。ログイン時にping発射フォームへのリンクTBが表示されます。
            <a href="<%TrackBack(pingformlink)%>">TB</a>


これで自分のサイトからのtrackbackの送信と、受信したのを記事下にリスト表示することが可能になっているはずです。


それでは表示のカスタマイズについて触れていきます。

    * スキン(テンプレート)変数の解説
      Trackbackプラグインの導入によって、次のような変数が利用可能になります。上の記述例での用い方と比較していただければ、わかりやすいかもしれません。カスタマイズするときにご参照ください。
          o <%TrackBack(list)%>: そのアイテムが受け取ったTrackbackのリスト
          o <%TrackBack(code)%>: アイテムのRDFコード
          o <%TrackBack(count)%>: そのアイテムが受け取ったTrackbackの数
          o <%TrackBack(tburl)%>: そのアイテムに対してTrackbackPingを打つときに入力する
          o <%TrackBack(pingformlink)%>: そのアイテムから他の記事にTrackbackを打つフォームを表示するリンク(テンプレートの<%edit%>内で表示するようにすると使いやすい)
          o <%TrackBack(manualpingformlink)%>: その記事に対して手動でPingを打つためのフォームを表示するリンク

    * リストや表記のカスタマイズ
      スキンやテンプレート上の表示させる場所は上の変数の埋め込む場所を変えればいじることができます。しかし、リストに使われているタグやTrackbackが無い場合の表示、あるいはURLの提示はこれでは変更できません。ここを変更するには NP_TrackBack.php自体に手を入れる必要があります。
      まずテキストエディタを用いて、お使いの文字コード設定で NP_TrackBack.phpを開きます。そしてfunction init()すぐ下、1.23bjのデフォルトだと37行目から41行目にわたっての記述にご注目ください。'(クオート)に囲まれている部分を書き換えれば、表示方法を変える事ができます。注意する限り、PHPの知識はいりません。

          o 'LIST_HEADER' => ' <div class="commentbody">Trackback URL<br /> <input class="formfield" size="70" accesskey="4" value="<%tburl%>" /></div>',
            ここはTrackbackを受け取っている状態でのヘッダー部分の表示に使われます。この設定だとテキストボックス内部にTrackbackを受け取るURLを表示するようにしています。<% tburl%>がそのURLに置き換えられますので、それを踏まえて'と'の間をいじれば表示方法を変更できます(ボックスを広げたり、解説をつけたり、右クリックからコピー&ペーストするようにしたり)

          o '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のリスト部分の表示です。trackbackが複数ある場合は繰り返し使われます。<%url%>は送信元記事のURL、 <%title%>は送信元記事のタイトル、<%blogname%>は送信元Blogの名前、<%timestamp% >はtrackbackを受け取った時間、<%delete%>はtrackbackを削除するためのリンク(管理者ログイン時に表示)、<%excerpt%>は送ってきた本文の一部表示、にそれぞれ置きかえれらます。

          o 'LIST_FOOTER' => '',
            trackbackを受け取っている場合のリストフッターです。

          o 'DELETE' => '[delete]',
            管理者ログイン時に、trackbackを削除するために表示されるリンクの文字列です。この状態だと[delete]というリンクがログイン状態だと現れ、クリックするとそのtrackbackを削除できます。

          o 'NO_TRACKBACKS' => 'Trackback URL<br /> <input class="formfield" size="50" accesskey="4" value="<%tburl%>" />',
            Trackbackを受け取っていない場合の表示です。'LIST_HEADER'の部分とほぼ同じになってます。

    * Local Ping

      1.23bjの特徴として、ローカルpingが利用できるという点が上げられます。

      これは同じBlog内部でTrackbackをうつことにより、簡単に関連記事を表示できるというものです。保存される場所がtrackbackとは異なりますので、NP_LatestWritebacksなどを使っていても受け取ったtrackback一覧には表示されません。

      アイテムの追加時と、送信用フォームに「Local?」というチェックボックスが出現しますので、これにチェックを入れて送信すると内部trackbackとなります。受け取ったtrackbackを表示するには<%TrackBack(locallist)%>とスキンかテンプレートに追記してください。ここに展開されます。

      表示のカスタマイズは通常Trackbackの場合と同様に、NP_TrackBack.phpに手を入れます。デフォルトだと44行目から48行目がそれにあたります。雛型の担当する場所と使われている変数は上記のと同じですのでそちらをご覧ください。

オフライン

Board footer