Home > MovableType > BBSのテンプレート改良に関しての覚書

BBSのテンプレート改良に関しての覚書

珍しく平日にもかかわらず余裕がありそうなので,忘れないうちに書いておきます.といっても,ここのBBSの場合,元々使っていた(というのか)MTの「2つ目のブログ」を「コミュニティ掲示板」にしてしまったというだけでして,テンプレートはまっさらな状態で始めたんだけど,1つ目のブログ(つまりここのこと(^^;)でのテンプレートと比較しながら写していく形で構築していきました.なので,他の人が苦労しているであろうことよりも少し楽をしていたりします.

ただ,ブログと掲示板にも大きな違いがありますので,その違いを比べながら,いろいろ書いていこうかと思います.今後必ず出てくると思われる「コミュニティ掲示板のテンプレートセット」作成の一助にでもなってくれれば幸いです.


1. カテゴリレベルにより記事の投稿有無が変わる(掲示板)

これは俺自身試してみるまで分からなかっただけで,気づいている人は気づいている筈です.つか,MTのマニュアルにどうして「サブカテゴリも作成しましょう」なんて載っているのかがようやく分かったという感じです(^^;

つまり「サブカテゴリ以下でないと,掲示板を見に来る人たちが普通にトピックの投稿が出来ない」ということなのです.テンプレートの「トピックを投稿」テンプレート全体を見渡してようやく気づきましたよ(←まぬけ).しかも,デフォルトテンプレートではトップレベルカテゴリに管理者が記事を投稿(当然ですが管理者ならMTのダッシュボードからでも普通に出来ます)しても,その投稿した記事がアーカイブインデックスでは表示されません.俺自身先週あたりにこれに気づいて,速攻でトップレベルも含めた全ての記事を表示するようにテンプレートを改良しました(^^;

2. カテゴリーインデックスが表(table)表記になっている(掲示板)

テンプレートを見たときは正直驚いたんですけど,これは正直好みの問題かもしれません.

俺自身はというと,mt.Vicunaのテンプレートに沿って定義リスト形式(ヘッドライン表記)にしてしまいました.返信リンクと投票の置き方については正直迷いましたが,結構いい感じでしょ?

3. グローバルテンプレート内のシステムテンプレートにはphpインクルードが使えない

完全な静的ページであればphpインクルードを使わずにテンプレートを作れるので問題ないんでしょうが,記事が増えていくに従って(当然ですけど)再構築にも時間がかかってしまいます.ということで(?),サイドバー等に項目を追加しつつphpインクルードを有効にしてキャッシュで軽くするという方が多いと思いますけど,システムテンプレートはCGIを使って動的にテンプレートを構築しているため,phpインクルードを施している部分が全く表示されなくなります.HTMLソースを見ると,<?php include_once~?>がしっかり表示されてしまっているのですぐ気づきます.

コミュニティ掲示板やコミュニティブログで主に使われる「プロフィール」とかは,(俺もそうですけど)サイドバーを入れるなど結構凝ったことをやりたくなりますが,こういうことがまま起きそうなので,面倒ならば,デフォルトのままでやっていくか(俺のように)インクルードしているテンプレートを丸ごと貼り付けるしかないと思います.

実をいいますと,この「CGI経由だとphpインクルードが使えない」という仕様はMT3.x時代からあって,特に「検索結果」テンプレートでこの仕様が顕著に現れていた感があります.ただブログごとのテンプレートの「システムテンプレート」にある場合は,どうもphpインクルードが使える(というよりも,<MTinclude ~>部分を強制的に貼り付ける仕様にしたと考える方が正しいです)仕様になったらしく,現にここの「検索結果」テンプレートでは普通にphpインクルードが有効になっているように見えてしまってます(苦笑).おそらくグローバルテンプレートだけは従来の仕様にしているということなのだと俺は思ってますが...

4. 「検索結果」テンプレートを改変したが,実はもっと簡単な方法があった(苦笑)

...いや,気づかずにテンプレートを改良してしまった俺が間抜けなんですけど,検索機能って設定によって複数のブログをまたぐことが出来るんですよ.で,どうもやり方によっては「このブログの検索結果テンプレートを使う」というようなことが出来るようで,結論としては「頑張ってテンプレートを直す必要はそんなにない」ということとなりました(ぉぃ

そんなわけで,検索結果テンプレート(システムテンプレート)よりも検索テンプレート(ウィジェット)の方で複数ブログを設定する(<input type="hidden" name="IncludeBlogs" value="1,2" />という風にします)ようにした方が早いです.なお,複数ブログを指定した場合,value=のより先頭にあるブログ番号の検索結果テンプレートを優先的に実行するようになっているようです.

まだ書き忘れていることがあるかもしれないんだけど,今日のところはこんなもんで勘弁してください.書き忘れている部分等については,また別途エントリーを追加していきますので(^^;

Comments:0

コメントする

Trackbacks:1

Home > MovableType > BBSのテンプレート改良に関しての覚書

Categories

Tag Cloud

OpenID accepted here

Accepted OpenID

CC Licence

Creative Commons License

このブログはクリエイティブ・コモンズでライセンスされています。

Feeds

Return to page top