コメントフォームを簡単に修正できるようにしました。
コメントフォームはMTで用意されている機能を利用していました。
<$MTCommentFields$>タグを利用して表示していました。
しかし、整形や文章の追加など、MTのファイルを扱う必要があり、何処を直していいかさえ分からない状況であり、間違ったら他のブログへも影響を及ぼすなど、あまり触りたくないというのが本音でした。
しかし、どうしても気に入らなかったので自分で作成することにしました。
以下、作成例です。手直しすれば独自のコメントフォームに変身します。
是非、利用してみてください。
※表示は、下記コメントフォームで利用していますので確認してください。
■コメントフォーム
■コメント・プレビュー
■コメント・エラー
■CSSの関係箇所
※フォームに利用しているテーブルは、CSSで指定してください。
※ご利用は、自己責任でお願いします。
<$MTCommentFields$>タグを利用して表示していました。
しかし、整形や文章の追加など、MTのファイルを扱う必要があり、何処を直していいかさえ分からない状況であり、間違ったら他のブログへも影響を及ぼすなど、あまり触りたくないというのが本音でした。
しかし、どうしても気に入らなかったので自分で作成することにしました。
以下、作成例です。手直しすれば独自のコメントフォームに変身します。
是非、利用してみてください。
※表示は、下記コメントフォームで利用していますので確認してください。
■コメントフォーム
<MTEntryIfAllowPings>
<h3>トラックバック</h3>
<p>トラックバックURL:<$MTEntryTrackbackLink$></p>
<MTIfNonZero tag="MTEntryTrackbackCount">
<p>このエントリーへのトラックバック:</p>
<div id="trackbackdata">
<MTPings>
<h4 id="p<$MTPingID$>">>> <a href="<$MTPingURL$>"><$MTPingTitle$></a> [<$MTPingBlogName$>]</h4>
<p>
<$MTPingExcerpt$>
</p>
<div class="post1">
<p>
<$MTPingDate$>
</p>
</div>
</MTPings>
</div>
</MTIfNonZero>
</MTEntryIfAllowPings>
<MTEntryIfAllowComments>
<br />
<br />
<h3>コメントをどうぞ!</h3>
<div id="commentdata">
<MTComments>
<$MTCommentBody$>
<div class="post2">
<p id="c<$MTCommentID$>">
投稿者<$MTCommentAuthorLink default_name="匿名"$>:<$MTCommentDate$>
</p>
</div>
</MTComments>
</div>
<div class="cform">
<MTEntryIfCommentsOpen>
<MTIfCommentsAllowed>
<p>投稿されたコメントは要承認コメントとして取り扱われ、承認作業が完了するまで表示されないことがあります。</p>
<br />
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>">
<input type="hidden" name="entry_id" value="<$MTEntryID$>">
<input type="hidden" name="static" value="1">
<table border="0" cellspacing="0" cellpadding="0" summary="コメントフォーム">
<tr>
<td><label for="comment-author">名 前: </label></td>
<td><input id="comment-author" name="author" tabindex="1" accesskey="n" size="30" value="" /></td>
</tr>
<tr>
<td colspan="2" height="5"></td>
</tr>
<tr>
<td><label for="comment-email">メール:</label></td>
<td><input id="comment-email" name="email" tabindex="2" accesskey="m" size="30" value="" /></td>
</tr>
<tr> <td colspan="2" height="5"></td>
</tr>
<tr>
<td><label for="comment-url">URL:</label></td>
<td><input id="comment-url" name="url" tabindex="3" accesskey="u" size="30" value="" /></td>
</tr>
<tr>
<td colspan="2" height="5"></td>
</tr>
<tr>
<td valign="top"><label for="comment-text">コメント:</label></td>
<td><textarea id="comment-text" name="text" tabindex="4" accesskey="t" cols="40" rows="10" ></textarea></td>
</tr>
<tr>
<td colspan="2" height="5"></td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="submit" accesskey="v" name="preview" tabindex="5" value="確認" />
<input type="submit" accesskey="s" name="post" tabindex="6" value="送信" />
</td>
</tr>
</table>
</form>
</div>
</MTIfCommentsAllowed>
</MTEntryIfCommentsOpen>
</MTEntryIfAllowComments>
■コメント・プレビュー
<h2>コメントの確認</h2>
<div class="comment_view">
<$MTCommentPreviewBody$>
</div>
<div class="post2">
<p>
投稿者::
<$MTCommentPreviewAuthorLink default_name="匿名"$> |
<$MTCommentPreviewDate$>
</p>
</div>
<MTEntryIfCommentsOpen>
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
<MTIfRegistrationAllowed>
<script type="text/javascript">
<!--
writeTypeKeyGreeting(commenter_name, <$MTEntryID$>);
//-->
</script>
</MTIfRegistrationAllowed>
<MTIfCommentsModerated>
<p class="comments-open-moderated">
いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。
</p>
</MTIfCommentsModerated>
<br />
<MTIfRegistrationRequired>
<MTElse>
<table border="0" cellspacing="0" cellpadding="0" summary="コメントフォーム">
<tr>
<td><label for="comment-author">名 前:</label></td>
<td><input id="comment-author" name="author" size="30" value="<$MTCommentPreviewAuthor$>" /></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td><label for="comment-email">メール:</label></td>
<td><input id="comment-email" name="email" size="30" value="<$MTCommentPreviewEmail$>" /></td>
</tr>
</table>
</MTElse>
</MTIfRegistrationRequired>
<br />
<table border="0" cellspacing="0" cellpadding="0" summary="コメントフォーム">
<tr>
<td><label for="comment-url">URL:</label></td>
<td align="left"><input id="comment-url" name="url" size="30" value="<$MTCommentPreviewURL$>" /><td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td valign="top"><label for="comment-text">コメント:</label></td>
<td align="left"><textarea id="comment-text" name="text" rows="10" cols="40"><$MTCommentPreviewBody autolink="0" sanitize="0" convert_breaks="0" encode_html="1"$></textarea></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td align="right" colspan="2">
<input type="submit" name="preview" id="comment-preview" accesskey="v" value="確認" /><input type="submit" name="post" id="comment-post" accesskey="s" value="投稿" /><input type="button" name="cancel" id="comment-cancel" value="取り消し" onclick="window.location='<$MTEntryPermalink$>'" />
</td>
</tr>
</table>
</form>
</MTEntryIfCommentsOpen>
■コメント・エラー
<h2>コメントの登録エラー</h2>
<div class="error">
<p>次のエラーでコメントを投稿できませんでした: </p>
</div>
<br />
<center>
<blockquote><strong><$MTErrorMessage$></strong></blockquote>
<br />
<p><a href="<MTEntryLink>">エントリーのページに戻る</a></p>
</center>
■CSSの関係箇所
/*----- trackbacks & Comments-----*/
.post1 {
border-top: solid 1px #AAAAFF;
font-size: 85%;
padding-top: 6px;
margin-bottom: 20px;
}
#trackbackdata h3{
font-size: 85%;
color: #888;
margin-bottom: 0px;
}
#tbdata. #left #commentdata p{
font-size: 85%;
color: #888;
margin-top: 10px;
margin-bottom: 0px;
}
.comment_view{
font-size: 100%;
color: #666;
margin-top: 10px;
margin-bottom: 0px;
}
#commentdata .post2 p{
margin-bottom: 20px;
font-size:85%;
text-align: right;
}
.cform{
margin: 0 20px;
}
.error {
font-size : 100%;
color: red;
border: 1px solid red;
padding: 5px;
text-align: center;
}
※フォームに利用しているテーブルは、CSSで指定してください。
※ご利用は、自己責任でお願いします。
スポンサードリンク
関連記事
トラックバック(0)
このブログ記事を参照しているブログ一覧: コメントフォームを簡単に修正できるようにしました。
このブログ記事に対するトラックバックURL: http://www.jp-soft.com/mtos/mt-tb.cgi/50





すみません少し解らないことがあったので投稿しました。
MT4を使ってコメントフォームをカスタママイズしコメントを投稿したのですがエラーが出てきます。
「コメントの投稿に失敗しました:登録しなければなりません。」
またMT4にログインし投稿すると正常に送信されます。
MT4にログインせずにコメントが送信できるやり方を教えてください。
テンプレートのご利用有難うございます。
管理画面でブログの設定を選択して、「登録/認証」を選んでください。
認証なしコメントにチェックを入れると、認証なしでコメント投稿できます。
以上です。
ありがとうございます!
問題解決しました。