■ コメントで名前を保存する

posted at 2005-08-26 02:07
前から欲しかったコメントで名前をCookiesに保存する機能。
自分が一番欲しかった!だってこのblogにコメントを書くのが一番多いのは自分なわけだし(そりゃそうだ)

昔DOMを使って何とかできないか考えてるうちに、HTML編集が可能になって自分でせっせと編集することにしました。
といってもゼロから書くのはメンドクサイので、Movable Typeの標準のJavascriptをseesaa向けに改造してます。ありがとうMT。

HTML編集をバリバリやってるのでちょっと敷居は高いけど、さぁレッツトライ!失敗したら初期に戻せばいいのさ!
でもちょっと長いです。

1. Javascriptのダウンロード

基本となるJavascriptをダウンロード

 -> seesaa_cookies.js

windowsなら上のリンクを右クリックして「対象をファイルに保存」
macなら上のリンクをctrlを押しながらクリック"リンク先のファイルをダウンロード"(らしい)
適当なとこに保存して、メモ帳で開く

一番上の行を書き換えます。

var HOST = 'xxx.seesaa.net';

赤文字のところを、自分のblogのURLに変更


2. Javascriptのアップロード

1でダウンロードして修正したJavascriptファイルを、ファイルマネージャーでアップロード。
どうやらimageフォルダにはアップロードできないらしいので、別名のフォルダをつくってそこにアップ!
自分は"js"というフォルダをつくってそこにアップロードしてます。


3. Javascriptを組み込む

[デザイン]→[HTML]で、Javascriptを組み込ませます。
初めてHTMLをいじる場合は、[HTMLの追加]で新規に作成してからそれを修正。

HTML編集で、上の方に入れ込む(<% if:blog.has_foaf -%>の上あたりが手頃かも)

<script language="JavaScript" src="https://xxx.up.seesaa.net/js/seesaa_cookies.js"></script>

赤文字のところは2番で自分でアップしたJavascriptのURLを記入。


4. コメント画面を修正する

実際コメントの場所にボタンとかを追加します。
[デザイン]→[コンテンツ]→[記事]→[コンテンツHTML編集] でHTML編集画面を開く。

長いけど余計なところはいじらずにコメントのところを修正


<form action="/pages/user/comments2/regist/input" method="post" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
<div class="comments-body">
お名前: <% if:blog.ignore_setting.fill_writer %>[必須入力]<% /if %><br />
<input type="text" name="article_child__writer" size="50" value="" /><br />
メールアドレス: <% if:blog.ignore_setting.fill_email %>[必須入力]<% /if %><br />
<input type="text" name="article_child__email" size="50" value="" /><br />
ホームページアドレス: <% if:blog.ignore_setting.fill_homepage %>[必須入力]<% /if %><br />
<input type="text" name="article_child__homepage" size="50" value="" /><br />
保存しますか?<input type="radio" id="remember" onClick="rememberMe(this.form)" name="bakecookie" style="margin-left: 15px;" /><label for="remember">はい</label><input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)" value="Forget Info" style="margin-left: 15px;" /><label for="forget">いいえ</label><br style="clear: both;" /><br />
<br />

コメント: <% if:blog.ignore_setting.fill_body %>[必須入力]<% /if %><br />
<textarea name="article_child__body" rows="10" cols="45"></textarea><br />
<input type="hidden" name="article_child__article_id" value="<% individual_article.id %>" />
<input type="hidden" name="article_id" value="<% individual_article.id %>" />
<% if:blog.ignore_setting.captcha_comment -%>
認証コード: [必須入力]<br />
<img src="<% blog.ignore_setting.page_url_captcha_comment -%>" /><br />
<input type="text" name="captcha_comment" size="50" value="" /><br />
※画像の中の文字を半角で入力してください。<br />
<% /if -%>
<% if:individual_article.accept_comment_permission_mode -%>
※ブログオーナーが承認したコメントのみ表示されます。<br />
<% /if -%>
<% if:blog.ignore_setting.banascii_comment -%>
※半角英数字のみのコメントは投稿できません。<br />
<% /if -%>
<input name="need_confirm" type="submit" class="input-submit" value="確認する" /><input name="posted" type="submit" class="input-submit" value="書き込む" />
</div>
</form>
<% /if -%>
</div>

<script type="text/javascript" language="javascript">
<!--
if (document.comments_form.article_child__email != undefined)
  document.comments_form.article_child__email.value = getCookie("seesaamail");
if (document.comments_form.article_child__writer != undefined)
  document.comments_form.article_child__writer.value = getCookie("seesaaauth");
if (document.comments_form.article_child__homepage != undefined)
  document.comments_form.article_child__homepage.value = getCookie("seesaaurl");
if (getCookie("seesaaauth") || getCookie("seesaaurl")) {
  document.comments_form.bakecookie[0].checked = true;
} else {
  document.comments_form.bakecookie[1].checked = true;
}
//-->
</script>

<% /if -%>

多いけど赤文字の箇所を追加する。めんどくさかったら上のをそのままコピっても動くかも。


5. もう一カ所コメント画面を修正する

コメントのある箇所は4番だけじゃないのです。
3番で編集した、[デザイン]→[HTML]でHTMLの編集画面を開く。

下の方にあるコメント入力画面で追加。
formが2つあるけど上のformは確認のformなので、下のformを編集


<form action="/pages/user/comments2/regist/input" method="post" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
<div class="comments-body">
お名前: <% if:blog.ignore_setting.fill_writer %>[必須入力]<% /if %><br />
<input type="text" name="article_child__writer" size="50" value="" /><br />
メールアドレス: <% if:blog.ignore_setting.fill_email %>[必須入力]<% /if %><br />
<input type="text" name="article_child__email" size="50" value="" /><br />
ホームページアドレス: <% if:blog.ignore_setting.fill_homepage %>[必須入力]<% /if %><br />
<input type="text" name="article_child__homepage" size="50" value="" /><br />
保存しますか?<input type="radio" id="remember" onClick="rememberMe(this.form)" name="bakecookie" style="margin-left: 15px;" /><label for="remember">はい</label><input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)" value="Forget Info" style="margin-left: 15px;" /><label for="forget">いいえ</label><br style="clear: both;" /><br />
<br />

コメント: <% if:blog.ignore_setting.fill_body %>[必須入力]<% /if %><br />
<textarea name="article_child__body" rows="10" cols="50"></textarea><br />
<input type="hidden" name="article_child__article_id" value="" />
<input type="hidden" name="article_id" value="" />
<% if:blog.ignore_setting.captcha_comment -%>
認証コード: [必須入力]<br />
<img src="<% blog.ignore_setting.page_url_captcha_comment -%>" /><br />
<input type="text" name="captcha_comment" size="50" value="" /><br />
※画像の中の文字を半角で入力してください。<br />
<% /if -%>
<% if:blog.ignore_setting.banascii_comment -%>
※半角英数字のみのコメントは投稿できません。<br />
<% /if -%>
<% if:article.accept_comment_permission_mode -%>
※ブログオーナーが承認したコメントのみ表示されます。<br />
<% /if -%>
<input name="need_confirm" type="submit" class="input-submit" value="確認する" /><input name="posted" type="submit" class="input-submit" value="書き込む" />
</div>
</form>
</div>

<script type="text/javascript" language="javascript">
<!--
if (getCookie("seesaaauth") || getCookie("seesaaurl")) {
document.comments_form.bakecookie[0].checked = true;
} else {
document.comments_form.bakecookie[1].checked = true;
}
//-->
</script>


<% /if -%>

毎度のことながら赤文字部分を追加。基本的に4番と同じ。


6. 再構築する

ちゃんと動くかどうかは「記事ページ」を再構築しないとわからない。
これが長い。50ページぐらいをひたすら再構築。気長に待つべし。


以上で完了。全然わかりやすくないかも。誰にでもわかるように書くのは難しいなぁ。また見直してちょこちょこ直してきます。
もっと簡単にできる方法があればいいんだけど。気が向いた人は是非チャレンジを!

------------
追記
formのところでname="comments_form"を追加しなきゃいけないのに赤文字にしてなかったです。すいませんがお忘れなく!

------------
さらに追記
ちょこちょこと不具合があったので、Javascriptと5番の最後のJavascriptのところを修正しました

------------
2006/04/16修正
スパム対策で基本HTMLが変わったので、新しいのに対応しました


posted by hirotomo | ☔ | permalink | Comment(12) | TrackBack(6) | カスタマイズ
comments
まっていました、このエントリ。神降臨!
いただきましたとも。即座にいただきましたとも。
Posted by march at 2005-08-26 11:52
はじめまして。
この機能、欲しいなぁと思っていたので、
この記事を見つけてとっても嬉しいです!
私のblogでも使わせていただきました。
ありがとうございます。
Posted by em at 2005-08-30 16:44
>marchさん
1年後ごしでかなえましたぞ!
色々試行錯誤してもらってありがとうございました。

>emさん
はじめまして。
無事設置できたようでなによりです。
勢いで説明文書いてるので、ちゃんとわかるのか心配なのですよ。よかったです!
Posted by ヒロトモ at 2005-08-30 23:03
ヒロトモさん、説明文とても分かりやすかったです(^^)
トラックバックも送信させていただきました。
Posted by em at 2005-09-01 10:53
トラックバック成功してますよ!ありがとうございました。

ほかにも使えるモノがあったらなんなりとどうぞ。
Posted by ヒロトモ at 2005-09-02 03:35
こんにちは(^^)

私のところだけかもしれないのですが、
Cookieが保存されてないパソコンで、
「保存しますか?」を「いいえ」の状態にして
「確認する」ボタンを押すと、
確認画面ではコメント以外の情報が消えてしまうようです。
気づかずそのまま書き込むボタンを押すと
名前がない状態で書き込まれてしまいます。

確認するボタンを押した時はCookie使わず
確認画面に名前などの情報を引き継ぐ方法が分からなかったので、
ひとまず私のブログは「保存しますか?」をなくして、
強制的にCookieで情報を保存するようにしてしまいました。

ご報告まで。
Posted by em at 2005-09-04 10:35
 はじめまして。
 おかげさまでコメントの手間をはぶくことができましたm(__)m
 また、トラックバックも送らせていただきました^^

 私の環境では、若干の不具合が発生しましたので、それについてスクリプトの修正をさせていただきましたので、ご了承願います。
 それについてもエントリーしておりますので、ご興味がありましたらご覧ください。
Posted by Wao at 2005-09-05 15:31
ご指摘ありがとうございました。修正しました!
コチラ↓
http://blog.travelstar.jp/article/6644076.html

たぶんこれで不具合はない!(はず…)
Posted by ヒロトモ at 2005-09-07 01:16
Moo-TblogのKOuです。
ばっちし頂戴いたしました。ありがとうございますです。

いらんメール項目も消し去って、きれいさっぱりです。THANKS!
Posted by KOu at 2005-09-12 18:25
使ってもらえてサンキューです。

たしかにメールのとこってあまり使われてないよなぁ…。管理者だけに見えるんだっけな?
Posted by ヒロトモ at 2005-09-15 13:43
こんにちは。
こちらのカスタマイズを使わせていただきました。
クッキー機能がないのをとても不便に感じていたので、
とても助かります!!
ありがとうございました。
Posted by KOROPPY at 2007-05-02 11:03
ちゃんと設置できたようで何よりです。

保存されると便利ですよねぇ。一番コメントを書く自分が一番便利です!
Posted by ヒロトモ at 2007-05-04 09:07

post a comment
name: [必須入力]

e-mail:

URL:

保存しますか?

comment:

認証コード: [必須入力]


・画像の中の文字を半角で入力してください



・半角英数字のみのコメントは投稿できません

■コメント欄でcookie保存

excerpt:  T-Back【コメントで名前を保存する】by ありふれた生活@hirotomo    ヒロトモ神、再び降臨。  人の褌で相撲をとる、の第2弾。あ、いや嘘。もっとだ。    sketch-bookを始..
weblog: sketch-book
tracked: 2005-08-26 12:57

コメント欄の情報を保存

excerpt: どーしてSeesaaブログはコメント欄の情報を、 覚えてくれないの?って思ったのですが、 ちゃんと作ってくれてる方がいました!感激!! コメントで名前を保存する (ありふれた生活) ほとんどコピペだ..
weblog: emのダイエット記録
tracked: 2005-09-01 10:50

Seesaaブログカスタマイズ−コメント入力項目保存

excerpt: ??亜垢??蕕曚靴??辰織灰瓮鵐汎??詫鵑離如璽進歛検※ava Scriptで実現可能なんだが…とは思っていたのですが、めんどくさくて作っておりませんでした。嗚呼、怠慢。  そんなときにみつけたのが..
weblog: Wao&amp;Warn
tracked: 2005-09-05 15:20

時間がないときに

excerpt: 例えば他のWeblog会社ではコメントするとき最初の1回だけ打ち込んでクッキーに保存しておけば,いちいち名前やURL等を書かなくて済むので楽なのですが,Seesaaはコメント投稿時の投稿者情報をクッキ..
weblog: Song for...
tracked: 2007-01-28 21:57

seesaaのコメント欄にクッキー機能を追加

excerpt: 前々から気になっていたんですが、seesaaはなぜ標準でクッキー機能がないのでしょうね。 ふと思い立って検索したら、やはり同じ不満を抱えている方は多いようで、いくつかカスタマイズ方法が編み出されていま..
weblog: KOROPPYのぶつ森日記
tracked: 2007-05-02 11:01

コメント欄の内容を記憶する

excerpt: Seesaaではデフォルト状態でコメント欄の名前などが保存されません。 最近としては珍しいかも。 「ありふれた生活」さんのこちらの記事「コメントで名前を保存する」を参考にカスタマイズしてみました。 ..
weblog: おさるの旅ログ2
tracked: 2007-07-03 22:48