このサイトについて

COREBlogRefererPlugin

COREBlogRefererPlugin

アルファ版を公開します。ダウンロードは以下から。

http://coreblog.org/junk/COREBlogRefererPlugin.tgz

普通のZope Productです。COREBlogと連携して稼働します。

  • メリット
    1. 楽しめる
    2. 被リンク元を公開できる
  • リスク
    1. Blogを表示する際,マシンのパフォーマンスを余計に食うようになります。リンク経由のクリックごとに,ZODBへの書き込みが発生します。

使い方は

  1. Productを追加,Zopeを再起動します
  2. ZMI上でRefererPluginを追加したいCOREBlogインスタンスに行き,contentsタブをクリック,COREBlogRefererPluginを追加します。IDはデフォルトのままにしておいてください
  3. COREBlogRefererPluginのSettingsタブで,除外したいホスト(Ignore hosts)と,除外したいエージェント(Ignore agents)を指定します
  4. 引き続きcontentsタブ下で,DTMLをカスタマイズします

まず,index_htmlの<dtml-var entry_body>の下に,以下を追加して,Refererを登録するコードを組み込みます。ここでは,Blogのトップに対するRefererを,最新のエントリに紐づけます。

<dtml-comment>### Add referer information ###</dtml-comment>
<dtml-if sequence-start>
<dtml-try>
<dtml-call "referer_plugin.addReferer(id,REQUEST)">
<dtml-except>
</dtml-try>
</dtml-if>

次に,entry_htmlの一番最後に以下のコードを追加します。ここでは,エントリのPermalinkに対するRefererを,エントリに紐づけます。

<dtml-comment>### Add referer information ###</dtml-comment>
<dtml-try>
<dtml-call "referer_plugin.addReferer(id,REQUEST)">
<dtml-except>
</dtml-try>

最後に,entry_bodyの最後の</div>の直前に以下のコードを組み込みます。ここでは,エントリに紐付いたRefererを表示します。

<dtml-try>
<dtml-comment>### Show Referer ###</dtml-comment>
<a name="referer"></a>
<dtml-in "referer_plugin.getReferer(id)">
<dtml-if sequence-start>
<div class="comments-head"><a name="comments"></a>Referer</div>
<div class="posted">
</dtml-if>
<a href="<dtml-var referer_url>"><dtml-var "_['sequence-index']+1">...[<dtml-var referer_count>]</a>&nbsp;
<dtml-if sequence-end>
</div>
</dtml-if>
<dtml-else>
</dtml-in>
<dtml-except>
</dtml-try>

以上で,RefererPluginが組み込めるはずです。

お楽しみあれ:-)。

2010-08-27 04:25