Nucleus(JP)フォーラム Forum Index

Find on the forum:
OR  AND    » Advanced Search

未返信の記事を表示全てのフォーラムを既読にする

新しいトピックを投稿 トピックに返信
投稿者 メッセージ
Andy
モデレーター
モデレーター


登録日: 2004.03.18
記事: 1490
所在地: 横浜

記事 日時: 2005.07.07 (木) 12:09   記事の件名: 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行目がそれにあたります。雛型の担当する場所と使われている変数は上記のと同じですのでそちらをご覧ください。

_________________
Foodyn CMS開発日誌
http://www.matsubarafamily.com/lab/

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
新しいトピックを投稿 トピックに返信
特定期間内の記事を表示:   

Page 1 of 1

All times are GMT + 9 Hours

移動先:  

新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
ファイル添付不可
ダウンロード:

Powered by phpBB © 2001, 2002 phpBB Group