Nucleus

トラックバック機能の追加

2005年6月20日

 nucleusには標準ではトラックバック機能がついておらず、この機能を使うためにはプラグインとして導入する必要がある。そこで、Nucleus情報::暫定版というサイトのTrackBackプラグインの使い方という記事を参考にして、トラックバック機能を追加した。
 必要なプラグイン、NP_TrackBack.phpは、このページからダウンロードした。『TrackBackプラグインの使い方』に書かれたとおりの設定を試みたが、この記事に書かれてあるとおり、NP_TrackBack.phpを変更しないとあまりうまく行かないようである。使用しているスキンとの相性が悪いようだ。記事で使用されているNucleusのバージョンと、使用中のバージョン(v3.2日本語版)が異なることも関係するかもしれない。


試行錯誤の結果、次の通り設定した。

スキンの変更(defaultスキン使用)

テンプレート編集で、indexテンプレートの『アイテムの本体』に

<div class="contentitem3">
<a href="<%itemlink%>#trackback"><%TrackBack(count)%> TrackBacks</a>
</div>

を挿入。

テンプレート編集で、itemテンプレートの『アイテムの本体』の最後に

<!--TrackBack-->
</div>
<div class="content">
<div class="contenttitle">
<a name="trackback" id="trackback"></a>
<h2>TrackBack</h2>
<%TrackBack(list)%>
<!--EndTrackBack-->

を追加。

テンプレート編集で、itemテンプレートの『アイテムを編集するためのリンク』の最後に

<div class="contentitem5">
<a href="<%TrackBack(pingformlink)%>">Send TrackBack</a>
</div>

を追加。

apache.confの変更

次の内容を追加
<IfModule mod_php4.c> 
php_value mbstring.language Japanese 
php_value mbstring.detect_order ASCII,JIS,UTF-8,EUC-JP,SJIS 
php_flag mbstring.encoding_translation On 
</IfModule>


NP_TrackBack.phpの変更

 このスクリプトの記述をみると、コメント欄にはNucleus2.0への対応は書かれてあるが、3.0への対応は書かれていない。どうやら、そのあたりに不具合の原因が有りそうな感じである。

 スクリプトを良く眺めてみると、スキンとのフィッティングは、最初の方にある"class NP_TrackBack"中の"function init()"を変更すれば良さそうである。ここのタグ指定を色々変えて、defaultスキンに合うようにした。バージョンを、1.23bj_k1.0bとしておいた(ここからダウンロードできます)。


さらに変更(2005-10-18)

まず、.htaccessに

RewriteRule ^trackback-([0-9]+).html+ action.php?action=plugin&name=TrackBack&tb_id=$1

を追加し、NP_TrackBack.phpを変更して

function getTrackBackUrl($itemid) {
    global $CONF;
    //return $CONF['ActionURL'] . '?action=plugin&amp;name=TrackBack&amp;tb_id='.$itemid;
    return $CONF['IndexURL'] . 'trackback-'.$itemid.'.html';
}

及び

//$url = createItemLink($itemid);
$url =$blog->getURL().'item-'.$itemid.'.html';

とした(ver 1.23bj_k1.1b)。


まとめ

 以上の変更で、トラックバック機能がNucleus3.2jで無事働いている。プラグインの基本的な動作の部分は、Nucleus2.0用のプラグインでも問題なく、スキンとの相性に関する部分だけを変更すれば良いらしい。

コメント

kat (2005年6月20日 19:06:51)

コメントテスト

Katsumi (2005年6月20日 19:26:25)

2つ目のコメント

コメント送信