コメントの投稿者とリンク
コメントの投稿者の表示を、ID からニックネーム表示に変更してホームへのリンクを追加します。
目次
- 概要[overview]
- カスタマイズ[custom]
概要[overview]
コメントの フラット化 と ページ化 によって、それぞれのアイテムを掲示板のように使用できるようになりました。
しかし、コメントの投稿者としては ID のみが表示されていて、しかもその ID にはメンバーのホームへのリンクがされていません。
そこで、作成者の名前表示 と同様に、コメントの投稿者の名前を表示して、ホームへのリンクを貼るようにします。
カスタマイズ[custom]
それでは、投稿者の名前とホームへのリンクを貼るようにするために
plone_templates/viewThreadsAtBottom をカスタマイズします。
カスタマイズする場所は documentByLine の部分です。変更前は以下のようなコードです。:
<div class="documentByLine"
tal:define="anonymous_creator python:reply.Creator()=='Anonymous User'">
<span i18n:translate="label_comment_by">Posted by</span>
<span tal:content="reply/Creator"
tal:condition="not:anonymous_creator">Poster Name</span>
この部分を、作成者の名前表示
で修正した document_byline の記述を参考にして、以下のように変更します。
getHomeUrl でメンバーのホームを取得し、
getDispname で表示用の名前を取得しています。:
<div class="documentByLine"
tal:define="anonymous_creator python:reply.Creator()=='Anonymous User'">
<span i18n:translate="label_comment_by">Posted by</span>
<span tal:condition="not:anonymous_creator"
tal:define="creator reply/Creator;
creator_home python:mtool.getHomeUrl(creator);
dispname python:here.getDispname(id=creator);">
<a href="#" tal:condition="creator_home"
tal:attributes="href creator_home"
tal:content="dispname">
Poster Name
</a>
<span tal:condition="not: creator_home"
tal:content="dispname">
Poster Name
</span>
</span>
上記のように変更すると、このようにコメント投稿者のニックネームが表示され、ホームへのリンクが貼られるようになります。
このように表示することにより、コメントを書き込んだ人のプロフィール情報へアクセスしやすくなります。