2014年7月30日水曜日

drupal Forum module フォーラムモジュール テンプレート css

テンプレートとかCSSとかをいじる前に、
Home » Administration » Structure » Content types » Forum topic
のMANAGE DISPLAYタブなどから自分の思うように設定変更が可能かどうかを確かめる。

以下、自分用メモ

modules\forum\forum-list.tpl.php          フォーラムの表紙。フォーラムのリスト。
Forum
Topics
Posts
などの表示はここでしている。
フォーラムを入れ子にしたときも、ここの表示が使われる。

modules\forum\forum-topic-list.tpl.php    フォーラム次ページ。フォーラムトピックのリスト

modules\node\node.tpl.php                    フォーラムのトピックページ。
ただ、このnode.tpl.phpはフォーラム用に書き換えると全てのノードコンテンツに反映されてしまうので、フォーラムのトピックだけに反映させるために、ファイル名をnode--forum.tpl.phpに書き換えてテンプレートフォルダにコピーする。node--forum.tpl.phpのforumはコンテンツのタイプのマシンネーム(Home » Administration » Structure)。

modules\comment\comment.tpl.phpの2つフォーラムトピックの「Add new comment」「reply」のコメント。テーマへのオーバーライドはcomment--node-forum.tpl.phpに名前を変えてフォーラムだけへ適応させる。

modules\comment\comment-wrapper.tpl.phpは「Add new comment」「reply」をくるんでいる外側。
comment-wrapper--node-forum.tpl.php
に書き変えて、自分のテーマのテンプレートに貼り付けて編集。
comment-wrapper.tpl.phpの
    <h2 class="title comment-form"><?php print t('Add new comment'); ?></h2>
    <?php print render($content['comment_form']); ?>
この2行を
<!--    <h2 class="title comment-form"><?php print t('Add new comment'); ?></h2> -->
    <?php print render($content['comment_form']['comment_body']); ?>
    <?php print drupal_render_children($content['comment_form']); ?>
に変えて
comment-wrapper--node-forum.tpl.php
にし、オーバーライドさせる。
ここでは、['comment_body']以外にも
['author']
['field_email']
['actions'['submit']
などがある。
(上の方法でやるとsaveボタンを押してもそれが反映されない。ということで取りやめた。Add new commentのh2をh3に変える程度にした。)

テンプレートはコピーペーストしたファイルを書き換えるだけでオーバーライドされるけど、cssファイルはそれを自分が使うテーマに移動した場合、自分のテーマの.infoファイルでその場所の指定をする必要がある。
ファイルを移動したあとは、それを反映させるためにキャッシュクリアをする必要があるみたいだ。

forum.css訂正箇所。

#forum td.created,
#forum td.posts,
#forum td.topics,
#forum td.last-reply,
#forum td.replies,
#forum td.pager {
  white-space: nowrap;
}
で、
white-space: nowrap;
だと自動で折り返しを禁止してしまう。
そうすると、自分の場合はかなりはみ出してしまうので
white-space: normal;
と、禁止しないノーマルモードに戻しておく。

0 件のコメント:

コメントを投稿