フラット化
コメントはネストできるので、これをネストできずフラットになるようにします。
目次
- 概要[overview]
- フラット化[flat]
概要[overview]
plone では最初からアイテムにコメントがつけられる機能(discussion)が存在します。
このコメントがつけられる機能を使用して議論してもらうためには、以下の点が気になります。
- コメントがネストできる。(いい点でもあるが、最新のコメントがどれかわからなくなります。)
- ネストしたコメントはタイトルしか表示されず、内容がわからない。(赤丸で囲んだ部分)
(ちなみに plone 2.1 ではネストしたコメントの中身も表示されるように変わっています。)
そこで、コメントに対してのコメントを書き込めないようにし、結果的にコメントをフラットにします。
フラット化[flat]
コメントをフラットにするためには、そもそもコメントにぶらさがった(ネストした)コメントを作成できなくすればよいのです。
そこで、各コメントの下の「これに返答」ボタン(赤丸で囲んだ部分)を表示しないようにします。
このボタンを表示しないようにするために plone_templates/viewThreadsAtBottom
をカスタマイズします。
カスタマイズする場所は、下記のコメントの本文を表示している場所です。:
<div class="commentBody"
tal:content="structure reply/CookedBody">
This is the body text of the comment.
</div>
その下にある、<form name="reply" から </form>
までが これに返答 ボタンを表示している部分なので、この部分をまとめて削除します。:
<form name="reply"
action="discussion_reply_form"
method="post"
style="display: inline;"
tal:attributes="action string:${reply/absolute_url}/discussion_reply_form"
tal:condition="python:checkPermission('Reply to item', reply)">
<input class="standalone"
type="submit"
value="Reply to this"
i18n:attributes="value"
/>
</form>
すると下記のように、各コメントの下の
これに返答 ボタンが表示されないようになります。
また、コメントのみを表示するときに使用される plone_content/discussionitem_view についてもカスタマイズを行います。
ここでは、ボタンとネストしたコメントが表示されないようにするために、下記の行を削除します。:
<metal:block use-macro="here/viewThreadsAtBottom/macros/discussionView" />
以上で、コメントのネストがされずフラットなコメントしか作成できなくなります。なお、すでにネストされたコメントが存在する場合はどうにもならないので、削除するが気にしないようにしてください。