2003年09月07日(日)
新・MTのMTによるMTのためのサイド掲示板
今まで,"MTによるサイド掲示板もどき"や"サイド掲示板のコメントをページ分割"で,サイド掲示板を構築しようとがんばってきましたが,ついに納得のいく形になりました.
今までの問題は,Permalinkで指定されるファイルと別のファイルで掲示板を構築していたため,ポップアップを使わずに書き込んだ場合,書き込み終了後に掲示板に戻ることができませんでした.うちでは極力ポップアップを避けようとしていたのですが,ここだけは残さざるを得ない状況でした.
今回は,HOHBUKUROのohsamuさんにいただいたコメントを参考に,サイド掲示板専用の別blogを作ることによって,Permalinkを掲示板用のデザインにして,書き込み画面をポップアップにしなくてもよくなりました.
movabletypeのメインメニューから,「新しいウェブログの作成」を選択して,名称やディレクトリを適当に(適切に?)設定して作成.次に,テンプレート画面へ.「スタイルシート」,「Individual Entry Archive」,「Comment Listing Template」,「Comment Preview Template」の4つを編集します.
「スタイルシート」
ファイル名を「sidebbs.css」とした.ディレクトリが違うから相殺することはないが,安全のため(?),ファイル名をメインのblogと違うものとした.
body {
margin: 0px;
background: #d6cead;
}
a:link {
color: #cc0000;
text-decoration: none;
}
a:visited {
color: #cc0000;
text-decoration: none;
}
a:active {
color: #ee0000;
text-decoration: none;
background-color: #dddddd;
}
a:hover {
color: #ee0000;
text-decoration: none;
background-color: #dddddd;
}
img {
border: 0px;
}
h1,h2,h3 {
margin: 0px;
padding: 0px;
}
textarea {
font-size: 10px;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
}
form {
margin: 0;
padding: 0;
}
select {
margin: 0;
padding: 0;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
color: #000000;
font-size: 10px;
background-color:#ffffff;
}
input {
margin: 0;
padding: 0;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
font-size: 10px;
color: #000000;
border: solid 1px #999999;
background-color:#ffffff;
}
input.noborder {
margin: 0;
padding: 0;
border: 0px;
}
input.button {
margin: 0;
padding: 0;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
color: #000000;
font-size: 10px;
background-color:#ffffff;
border: solid 1px #999999;
}
.sidebbs {
background: #d6cead;
color: #444444;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
font-size: 10px;
font-weight: normal;
}
.sidebbs-head {
background: #d6cead;
color: #444444;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
font-size: 10px;
font-weight: bold;
text-align: center;
}
.sidebbs-body {
background: #d6cead;
color: #444444;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
font-family: Verdana, arial, sans-serif;
font-size: 10px;
font-weight: normal;
text-align: left;
}
.sidebbs-post {
background: #d6cead;
color: #444444;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
font-size: 10px;
font-weight: normal;
text-align: right;
}
.sidebbs-form {
background: #d6cead;
color: #444444;
font-family: verdana, Helvetica, "ヒラギノ角ゴ Pro W3", "MS Pゴシック", "Osaka", sans-serif;
font-size: 10px;
font-weight: bold;
}
「Individual Entry Archive」
コメントが多くなったときにページを分割するために,ARTIFACTの"MovableTypeのページ分割/Permalinkの変更"を参考にして,MTPaginateプラグインを使う設定になっていますので,もし使わない方は,その部分を削除して使ってください.
<div class="sidebbs">
<MTEntryIfAllowComments>
<div class="sidebbs-head">
<$MTEntryTitle$><br />
<a href="<$MTCGIPath$><$MTCommentScript$>?entry_id=<$MTEntryID$>">書き込む</a> /
<a href="<$MTEntryPermalink$>">最新の状態</a>
</div>
<hr noshade="noshade" />
<MTPaginate>
<MTPaginateIfMultiplePages>
<div class="multiplepages">
<MTPaginateIfLastPage_>
<a href="<$MTPaginatePreviousPageLink$>">◀ </a>
</MTPaginateIfLastPage_>
<MTPaginateIfFirstPage_>
<a href="<$MTPaginateNextPageLink$>">▶ </a>
</MTPaginateIfFirstPage_>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginatePreviousPageLink$>">◀ </a>
<a href="<$MTPaginateNextPageLink$>">▶ </a>
</MTPaginateIfMiddlePage_>
<$MTPaginateNavigator format_all="All" place_all="after" separator=" | " format_current="%d">
</div>
</MTPaginateIfMultiplePages>
<hr noshade="noshade" />
<MTPaginateContent max_sections="10">
<MTComments sort_order="descend">
<div class="sidebbs-body"><$MTCommentBody$></div>
<div class="sidebbs-post">
by <$MTCommentAuthorLink spam_protect="1"$><br />
at <$MTCommentDate format="%Y年%m月%d日%H時%M分"$>
</div>
<hr noshade="noshade" />
<$MTPaginateSectionBreak$>
</MTComments>
</MTPaginateContent>
<MTPaginateIfMultiplePages>
<div class="multiplepages">
<MTPaginateIfLastPage_>
<a href="<$MTPaginatePreviousPageLink$>">◀ </a>
</MTPaginateIfLastPage_>
<MTPaginateIfFirstPage_>
<a href="<$MTPaginateNextPageLink$>">▶ </a>
</MTPaginateIfFirstPage_>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginatePreviousPageLink$>">◀ </a>
<a href="<$MTPaginateNextPageLink$>">▶ </a>
</MTPaginateIfMiddlePage_>
<$MTPaginateNavigator format_all="All" place_all="after" separator=" | " format_current="%d">
</div>
</MTPaginateIfMultiplePages>
<hr noshade="noshade" />
</MTPaginate>
<$MTEntryBody$>
<hr noshade="noshade" />
</MTEntryIfAllowComments>
</div>
</body>
</html>
「Comment Listing Template」
JavaScriptによるクッキー制御はmovabletypeのものをそのままコピーしています.
var HOST = '<$MTBlogHost$>';
// Copyright (c) 1996-1997 Athenia Associates.
// http://www.webreference.com/js/
// License is granted if and only if this entire
// copyright notice is included. By Tomer Shiran.
function setCookie (name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
document.cookie = curCookie;
}
function getCookie (name) {
var prefix = name + '=';
var c = document.cookie;
var nullstring = '';
var cookieStartIndex = c.indexOf(prefix);
if (cookieStartIndex == -1)
return nullstring;
var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
if (cookieEndIndex == -1)
cookieEndIndex = c.length;
return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
function deleteCookie (name, path, domain) {
if (getCookie(name))
document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
function fixDate (date) {
var base = new Date(0);
var skew = base.getTime();
if (skew > 0)
date.setTime(date.getTime() - skew);
}
function rememberMe (f) {
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
setCookie('mtcmtauth', f.author.value, now, '', HOST, '');
setCookie('mtcmtmail', f.email.value, now, '', HOST, '');
setCookie('mtcmthome', f.url.value, now, '', HOST, '');
}
function forgetMe (f) {
deleteCookie('mtcmtmail', '', HOST);
deleteCookie('mtcmthome', '', HOST);
deleteCookie('mtcmtauth', '', HOST);
f.email.value = '';
f.author.value = '';
f.url.value = '';
}
//-->
</script>
</head>
<body>
<div class="sidebbs">
<MTEntryIfCommentsOpen>
<div class="sidebbs-head">書き込んでください.</div>
<hr noshade="noshade" />
<div class="sidebbs-form">
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
<input type="hidden" name="static" value="1" />
<input tabindex="1" id="author" name="author" />
: <label for="author">Name</label><br />
<input tabindex="2" id="email" name="email" />
: <label for="email">Email</label><br />
<input tabindex="3" id="url" name="url" />
: <label for="url">URL</label><br />
Remember personal info?<br />
<input type="radio" id="bakecookie" name="bakecookie" />
<label for="bakecookie">Yes</label>
<input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)" value="Forget Info" style="margin-left: 15px;" />
<label for="forget">No</label><br style="clear: both;" />
<label for="text">Comments : </label><br />
<textarea tabindex="4" id="text" name="text" rows="10" cols="30"></textarea>
<br /><br />
<input type="submit" name="preview" value=" Preview " />
<input style="font-weight: bold;" type="submit" name="post" value=" Post " /><br />
</form>
<script type="text/javascript" language="javascript">
<!--
document.comments_form.email.value = getCookie("mtcmtmail");
document.comments_form.author.value = getCookie("mtcmtauth");
document.comments_form.url.value = getCookie("mtcmthome");
if (getCookie("mtcmtauth")) {
document.comments_form.bakecookie[0].checked = true;
} else {
document.comments_form.bakecookie[1].checked = true;
}
//-->
</script>
</div>
</MTEntryIfCommentsOpen>
<hr noshade="noshade" />
<div class="sidebbs-head"><a href="<$MTEntryPermalink$>">書き込みをやめる</a></div>
<hr noshade="noshade" />
</div>
</body>
</html>
「Comment Preview Template」
<div class="sidebbs">
<div class="sidebbs-head">コメントを確認してください.</div>
<hr noshade="noshade" />
<div class="sidebbs-body"><$MTCommentPreviewBody$></div>
<div class="sidebbs-post">
by <$MTCommentPreviewAuthorLink spam_protect="1"$><br />
at <$MTCommentPreviewDate format="%Y年%m月%d日%H時%M分"$>
</div>
<hr noshade="noshade" />
<div class="sidebbs-head">再編集も可能です.</div>
<hr noshade="noshade" />
<div class="sidebbs-form">
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>">
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
<input type="hidden" name="static" value="<$MTCommentPreviewIsStatic$>" />
<input id="author" name="author" value="<$MTCommentPreviewAuthor encode_html="1"$>" />
: <label for="author">Name</label><br />
<input id="email" name="email" value="<$MTCommentPreviewEmail encode_html="1"$>" />
: <label for="email">Email</label><br />
<input id="url" name="url" value="<$MTCommentPreviewURL encode_html="1"$>" />
: <label for="url">URL</label><br />
<label for="text">Comments : </label><br />
<textarea id="text" name="text" rows="10" cols="30"><$MTCommentPreviewBody convert_breaks="0" encode_html="1"$></textarea>
<br /><br />
<input type="submit" name="preview" value=" Preview " />
<input style="font-weight: bold;" type="submit" name="post" value=" Post " /><br />
</form>
</div>
<hr noshade="noshade" />
<div class="sidebbs-head"><a href="<$MTEntryPermalink$>">書き込みをやめる</a></div>
<hr noshade="noshade" />
</div>
</body>
</html>
ちなみに僕は,必要最低限のものだけ残して,他の「Index Template」「Archive-Related Template」は消してしまったので,下のような画面になってしまっています(笑).
これで掲示板の設定は完了.あとはこの掲示板用のblogにエントリーを作成するだけ.エントリーの「タイトル」が掲示板のタイトルとして一番上に表示され,「Entryの内容」が掲示板の下に表示されるようになっているので,「Entryの内容」には掲示板の説明なんか書いてみました.Trackbackもこのエントリーには必要ないかと思い,pingは受け付けないようにしました.コメントは受け入れるようにしないと,掲示板として機能しません(汗).
エントリー作成後,そのエントリーのPermalinkを,メインのblogでiframeタグで呼んでやれば完成です.
参考までに,自動リンクを有効にしていると,URLが長いときにデザインが崩れてしまうとので,"コメント自動リンクの長さ対策の続き"なんかで対応してます.
長々と書いてしまった・・・.
サイド掲示板をつけました。
“C.K. BBS”と名づけて、“C.K. Harbox”の下に設置しました。 HeavenWolfのriver24(りばにし)さんが作られたものです。…
SIDE BBS
右側にあるSIDEBBSは、HeavenWolfさん作のサイド掲示板って奴を使わせて貰ってるのですが、どうもうまい具合に動作しない所があった。 コメント中にリンクがあったり、コメントした人の名…
SIDE BBSの手直し
右側にあるSIDEBBSは、HeavenWolfさん作のサイド掲示板って奴を使わせて貰ってるのですが、どうもうまい具合に動作しない所があった。 コメント中にリンクがあったり、コメントした人の名…
BBS設置
すべてをMTでまかなう計画の一環としてBBSも日記で作ってしまいました。 (つかネタ自体はパクり) 方法はトラックバック先 “新・MTのMTによるMTのためのサイド掲示板” に詳しいのですが、if…
sidebbs
ブログに都合のいい埋め込める掲示板を探していたら、いいものを見つけました。 HeavenWolfさん作のsidebbs。 ブログを掲示板にしちゃうなんてすご〜い! 設置は出来たのですがリンクが別窓で表示されない・・。 そしたらかつぞうWeblogさんのこちらのページに行き着き 解…
ミニ掲示板設置
「新・MTのMTによるMTのためのサイド掲示板」を参考にして(忠実に真似して)BBSを設置しました。 ここまでは全く問題なかった。 しかし、掲示板内のリンクターゲットを”_blank”にしようとして、lib/MT/Util.pmを以下のように書き換えた。 sub munge_comment { my($text, …
はじめまして。プラグインの置き場所や、何がPHPになるのか判らないながらも何とか設置できました。初心者にも丁寧な解説、ありがとうございました。
SideBBSを入れ替えました
つい先日、SideBBSとして、inobbsを入れたのですが、「文字化けしてしまう」という症例が発生。 Movable TypeがEUCコードを使用する設定になっているのに、導入したinobbsがShift-Jis版だったのがいけないのかなと思い、inobbsのEUC版を入れてみたのですが、どうも動作が…
ミニ掲示板設置
HeavenWolf さんのところの新・MTのMTによるMTのためのサイド掲示板という 記事を参考にミニ掲示板を設置してみました。 まだ大きさの変更の仕方がわからず変ですが 書き込めるようにしました。 コメントと関係ないのでどこに書いていいか分からない といった場合などにに…
http://jun.daa.jp/archives/20040404185905.php
HeavenWolf: 新・MTのMTによるMTのためのサイド掲示板 を、使用させていただき、サイド掲示板を設置しました。このサイトを訪問していただいても、一般の方はコメントを付けづらかったと思いますので、何かカキコんでやってください。……
ミニ掲示板の設置
久しぶりにMovableTypeの改造を手がけました。 ふらふら〜っとネットサーフをしていて見つけたページのブログに、ミニ掲示板がついていたのです。 これを見て、私もやってみようと思い立っての、今回の改造です。……
使わせてもらいました。どうもありがとう。
一行BBS設置しました。
特に意味はないですが、新設のBBSに全く書き込みがないので、トップページに一行BBSを設置してみました。 設置にあたって下記のHPを参考にさせて頂きました(つうか、丸コピ) HeavenWolf: 新・MTのMTによるMTのためのサイド掲示板サイド掲示板専用の別blogを作ることによ…
MTのためのサイド掲示板
HeavenWolf: 新・MTのMTによるMTのためのサイド掲示板 今まで,”MTによるサイド掲示板もどき”や”サイド掲示板のコメントをページ分割”で,サイド掲示板を構築しようとがんばってきましたが,ついに納得のいく形になりました.……
BBS設置
HeavenWolfさんのところで見つけた 新・MTのMTによるMTのためのサイド掲示板を参考にしてBBSを設置してみました。 (参考というかコピペ) プラグインとかの設置がよくわからないのでちょっとエラーでそうな予感なんですが・・・ まぁ使ってみてください・・・っと。 これか…
サイドメニューに掲示板設置
いやぁ、これは是非、使ってみたいですね。 http://www.heavenwolf.org/ 設置方法 サイドに掲示板を設置出来るようです。最終的に落ち着いたのは、一つ別のブログを作ってそれを読み込む形だそうです。メモ代わりにエントリー作成しときます。 phpじゃないと出来ないのか…
サーバー移転により
ようやく導入する事が出来ました
ありがとうございます
どらさんどらさん
HeavenWolf: 新・MTのMTによるMTのためのサイド掲示板 BLOGの機能で掲示板を作るなんてエレガントだわ!と思って、前からちょっと試してたんだけどエラーが出てしまう。 エラーを見ると、どっかのパスでエラーが起きてるみたいです。 読んでもよくわからないので、ここは…
SIDE BBSを設置してみた。
横っちょに掲示板を増やしてみました。 方法はここのエントリーを参考にしました。 新・MTのMTによるMTのためのサイド掲示板 新しいブログ作ってそれを掲示板にするという灯台下暗しな発想。ブラボー。8) スマイルマークも使えて便利。:) そんなわけで、掲示板ができまし…
使わせていただきます。
何から何まで参考にしました。
ありがとうございました。
サイド掲示板設置
サイドバーに掲示板を設置
はじめまして。サイド掲示板、探していて
こちらのがとっても気に入って設置したいのですが
一つ解らないことがあって教えていただきたいのですが
(「新しいウェブログの作成」を選択して名称やディレクトリを適当に(適切に?)設定して作成)とあり、その中にサイトの
URLとありますが・・・どう設定すればいいのか解りません。
MTブログを設定しているURLと同じではダメですよね?
でも架空のURL入れてもページが存在しないでしょうし・・・
初歩的な質問で申し訳ありません。
renewal
やっとMTがのみこめてきた
コメントとかつけれるようになったパズー
ちまちま過…
sidebar.jpってサービスが始まった。
userid=”USER19170″
なにかというと、とりあえずはこのサイトにも置いていたようなリンク元ランキングなどが web サ…
Blogメモ
本日はBlogrollingに登録してみました。(右サイドバー参照)
左のサイドバーに、過去の資産をリンクしておけるということも分かったし…。
今日のところはこれまで。来週は↓に挑戦する予定。
M……
ちょっといじってみました
えー、あんまり意味はないんですがサイトにゴテゴテとつけてみましたw。 ・占いモン…
MOVABLETYPEというBlog
ブログ、Blogともうなんだかよく分からないけど、インターネットを使っているヒト…
Weblogを大幅更新
一日かけて色々いじってみた。 久しぶりにスタイルシートとかいじったけど 忘れてい…
サイドbbsの設置
今のところ、アジトのトップと、直輝館のトップにだけ、サイドBBSを設定して貼って…
Side BBS 設置完(^○^)
HeavenWolf: 新・MTのMTによるMTのためのサイド掲示板を参考にさせ…
サイドバーに掲示板設置
サイドバーに掲示板を設置したいと思い、本やインターネットで調べてみました。候補と…
MT使った掲示板設置
使っていた掲示板が使えなくなり、新しい掲示板設置考えていました。 HeavenW…
MiniBBSを設置の巻
あちらこちらのブログにある、MiniBBS(呼称については、とりあえずこれで通させてください。)を設置したいと思いながらも、CGIを探すかどうしようかとあれこれ…
MovableType:ページを分割するプラグイン
ブログの存在を知った頃、なかなかなじめなかったのが、ページが長すぎるという点で…
サイド掲示板♪
新・MTのMTによるMTのためのサイド掲示板を見て、 サイド掲示板を設置しました…