以前に
標準的なコメントリンクに戻す方法を紹介しましたが、この記事を改善したいところが多々あったので、改訂版として新たに記事にします。
JavaScriptを使用しない、コード的にも標準的なコメントリンクにする方法です。
私のテンプレートのコメントリンクは他と違うある特徴があります。
1.メールアドレス記入欄が無く、代わりにサイト名記入欄がある。
2.サイト名と投稿者名にURLがリンクされる。
ただこれには問題がありました。既にメールアドレス付きコメントをもらっている人が私のテンプレートに変えると、メールアドレスが直接見えるように表示されてしまいました。
申しわけありません。m(__)m
標準的な機能に戻す方法を紹介します。
1.サイト名記入欄がなく、メールアドレス記入欄がある。
2.「URL」という固定キーワードでURLがリンクされる。
3.投稿者の名前にはメールアドレスがリンクされる。
HTMLを編集します。
まず
<!--▼コメント表示▼-->内で
1箇所置き換えます。
【置き換え箇所】
<!--▼コメント表示▼-->
~
<SCRIPT LANGUAGE="JavaScript">
~
</SCRIPT>
~
<!--▲コメント表示▲-->
【置き換え後】
<!--▼コメント表示▼-->
~
<%comment_url+str> /* 「URL」に投稿者のサイトをリンク(同窓) */
<%comment_mail+name> /* 「投稿者名」にメアドをリンク */
~
<!--▲コメント表示▲-->
【2009/07/14 追記】
メールアドレスのリンクは表示せず、「投稿者名」にサイトを別窓で開くリンクだけ表示したい場合は次のようにしてください。
<!--▼コメント表示▼-->
~
<script type="text/javascript">
a="<%comment_url>";
if (a!="") { document.write('<a href="'+a+'" target="_blank"><%comment_name></a>') } else {
document.write("<%comment_name>"); }
</script>
<noscript>
<a href="<%comment_url>" target="_blank"><%comment_name></a>
</noscript>
~
<!--▲コメント表示▲-->
次に
<!--▼コメント投稿▼-->内で
2箇所置き換えます。
【置き換え箇所】
<!--▼コメント投稿▼-->
~
<label for="mail">サイト名:</label><br />
<script language="JavaScript"><!--
document.write('<input id="mail" type="text" name="comment[mail]" size="40" value="'+myGetCookie("web_name")+'" /><br />');
// --></script>
~
<p><input type="submit" value="送信" onClick="mySetCookie ('web_name',document.comment_form.mail.value,'365')" /></p>
~
<!--▲コメント投稿▲-->
※lightframeには
<p></p>がありません。
【置き換え後】
<!--▼コメント投稿▼-->
~
<label for="mail">メール:</label><br />
<input id="mail" type="text" name="comment[mail]" size="40" value="<%cookie_mail>" /><br />
~
<p><input type="submit" value="送信" /></p>
~
<!--▲コメント投稿▲-->
※
<p></p>を付けると折り返されます。お好みで。
【2009/07/14 追記】
メールアドレス記入欄が不要な場合は、上記の一箇所目を削除してください。そして
<!--▼コメント編集▼-->内で
1箇所置き換えます。
【置き換え箇所】
<!--▼コメント編集▼-->
~
<label for="mail">サイト名:</label><br />
<script language="JavaScript"><!--
document.write('<input id="mail" type="text" name="edit[mail]" size="40" value="'+myGetCookie("web_name")+'" /><br />');
// --></script>
~
<!--▲コメント編集▲-->
【置き換え後】
<!--▼コメント編集▼-->
~
<label for="mail">メール:</label><br />
<input id="mail" type="text" name="edit[mail]" size="40" value="<%edit_mail>" /><br />
~
<!--▲コメント編集▲-->
【2009/07/14 追記】
メールアドレス記入欄が不要な場合は、上記の箇所を削除してください。最後に、<head>内にあるJavaScriptの関数、mySetCookieとmyGetCookieは使用しないので削除してかまいません。消す箇所がよく解らないときは、無理に消さなくても問題ありません。
※関数showMoreは残してください。
<script language="JavaScript"><!--
function mySetCookie(myCookie,myValue,myDay){
~
}
function myGetCookie(myCookie){
~
}
function showMore(varA1, varB1){
~
}
// --></script>
※lightframeは別の<script language="JavaScript"></script>内に関数showMoreが書かれています。
これで標準的なコメントリンクになります。
ただメールアドレスをネット上に公開することは、スパムメールが送られてくる原因になります。
<%comment_mail+name>に置き換えるよりも、
<%comment_name> に置き換えたほうがメアドがリンクされないのでいいかも知れません。
【2009/07/22 追記】このカスタマイズは 2009年07月22日以降にダウンロードされたテンプレート(standardならver.09、lightframeならver.04)では実装されています。バージョンはHTMLかCSSの一番下を見ると確認できます。
2009/07/14 追記の処理をし、メールアドレス記入欄は取り除きました。