Plonified スキンを RefererPlugin 対応に
Plonified スキンに変更してから、気がつくと RefererPlugin を使っての、リファラの登録と表示がされなくなりました。 そこで、上記の how-to を参考に Plonified スキンでもリファラが登録/表示されるように PageTemplate を修正しました。
まずは、entry_macros に各エントリーごとに「リファラの表示」を行なうためのコードを追加します。
一番最後のほうの <!-- Comments/Trackbacks/Comment form --> の前に下記のコードを追加しました。:
<!-- Show referer information -->
<tal:referer tal:define="referer python:here.referer_plugin.getReferer(entry.id)"
tal:condition="referer">
<div class="documentByLine">
Referer
<tal:block tal:repeat="ref referer">
<a href="" tal:attributes="href ref/referer_url"
tal:content="string: ${repeat/ref/number} ...[${ref/referer_count}]">
</a>
</tal:block>
</div>
</tal:referer>
次に、各エントリーを entry_html
で表示するごとに「リファラの登録」を行なうためのコードを追加します。
一番最後の </tal:block> の前に、下記のコードを追加しました。:
<!-- Add referer information --> <span tal:replace="python:here.referer_plugin.addReferer(entry.id, request)" />
最後に index_html を編集し、Blog のトップページを表示したときに最新のエントリーに「リファラの登録」を行なうためのコードを追加します。
19行目くらいにある <div tal:repeat="entry python:here.rev_day_entry_items(count=here.top_days)">
の次に下記のコードを追加しました。:
<!-- Add referer information -->
<tal:referer tal:condition="repeat/entry/start">
<span tal:replace="python:here.referer_plugin.addReferer(entry.id,request)" />
</tal:referer>
これで多分リファラの表示と登録はできるようになったと思います。 とりあえず、しばらく動作に問題がいないか様子を見てみようと思います。
なお、リファラの表示方法についてはここでは documentByLine を使っていますが、いろいろカスタマイズしてみてください。
それから、RefererPlugin そのものの入手とインストール方法は リファラ how-to からお願いします。(作成と説明を書かれた柴田さんに感謝しつつ)
-
- ¦
- 固定リンク
- ¦
- コメント (2)
- ¦
- トラックバック (2)
- トラックバック用URL:
- http://takanory.net/takalog/182/tbping
鈴木たかのりです。とりあえず日記っぽく雑多なことを書き込んでいこうと思っています。
zope/plone関係の技術的な内容については
早速、使わせていただきます。感謝。
ところで、パーソナルバーがtakanoriさんがログインした状態になって見れるのですが、これはどういうことなんでしょう?
こちらこそ、なにげに「トラックバックURLを表示する」とか参考にさせてもらってます。
ありがとうございますです。