「ordinary_days」「wash_ashore」コメント削除できない件を修正しました

「ordinary_days」「wash_ashore」コメント削除できない件を修正しました

テンプレート テンプレ不具合・修正など
2021/12/29
vanillaice (Akira)
vanillaice (Akira)

コメントを任意削除できない という問題が発生していました。該当テンプレートは以下の2つです。

ordinary_days - FC2ブログテンプレート

ordinary_days - FC2ブログテンプレート

ordinary_daysテンプレートはレスポンシブウェブデザインです。 パソコン・タブレット・スマートフォン等全デバイス間共通でお使いいただけます。 「スマートフォン版の表示設定」を「無効にする」に設定してご利用ください。 設定ページ...

wash_ashore - FC2ブログテンプレート

wash_ashore - FC2ブログテンプレート

wash_ashoreテンプレートはレスポンシブウェブデザインです。 パソコン・タブレット・スマートフォン等全デバイス間共通でお使いいただけます。 「スマートフォン版の表示設定」を「無効にする」に設定してご利用ください。 設定ページ...

ご利用中の皆様には大変ご迷惑おかけします。申し訳ございません。

症状

  • ブログ画面上(管理画面含まず)でコメントを削除をしようとしてもできない

削除対象コメントにパスワードが設定されている、というのが大前提です。パスワードの無い場合は通常のシステム通り削除不可です。

原因

  • コメント送信ボタンのvalue値が抜けていたため

対処法

  1. テンプレートの再ダウンロード
  2. テンプレートhtml及びスタイルシートの内容編集

テンプレートの再DLが可能な方は 2021.12.29 現時点で修正済みファイルを入手できます。

カスタマイズ済みなど、再DLが困難な方はご面倒ですが以下の修正を行ってください。恐れ入ります。

html編集

【手順1】

id="sendbtn" で検索するとhtml内に 2箇所 あります。いずれも内容は以下の通り。

<button class="comment-submit" id="sendbtn" type="submit" form="comment_form" value><%template_send></button>

この内容を2箇所とも以下の内容に修正(コピー&ペーストが安全です)

<button class="comment-submit" id="sendbtn" type="submit" form="comment_form" value="<%template_send>"><%template_send></button>

【手順2】

続きまして id="delbtn" で検索するとこちらは 1箇所 あります。

<button  class="comment-submit" id="delbtn" type="submit" form="comment_form" name="edit[delete]" value><%template_delete></button>

以下の通り修正。

<button  class="comment-submit" id="delbtn" type="submit" form="comment_form" name="edit[delete]" value="<%template_delete>"><%template_delete></button>

【手順3】

続きまして、先程修正した delbtn の付近の内容は以下のようになっています。ここまで正しく修正できていれば緑字部位が追加されている状態です。

<div class="division" id="form-btn">
  <button  class="comment-submit" id="delbtn" type="submit" form="comment_form" name="edit[delete]" value="<%template_delete>"><%template_delete></button>
  <button class="comment-submit" id="sendbtn" type="submit" form="comment_form" value="<%template_send>"><%template_send></button>
</div>

この内容の2つの button要素 の位置(記述順序)を入れ替えて以下の通り。

<div class="division" id="form-btn">
  <button class="comment-submit" id="sendbtn" type="submit" form="comment_form" value="<%template_send>"><%template_send></button>
  <button  class="comment-submit" id="delbtn" type="submit" form="comment_form" name="edit[delete]" value="<%template_delete>"><%template_delete></button>
</div>

スタイルシート編集

【ordinary_days】の場合

#sendbtn で検索するとスタイルシート内に 1箇所 あり、以下のようなルールセットになっています。

#sendbtn {
  background: rgb(65,128,1);
}
これを修正して以下の通り。
#sendbtn {
  order: 1;
  background: rgb(65,128,1);
}

【wash_ashore】の場合

以下の内容をスタイルシート末尾(最終)に追加。

#sendbtn {
  order: 1;
}

まとめ

作業内容と原因の説明をしたいと思います。

作業フローで「button要素の順序入れ替え」を行う理由なんですが、FC2ブログの 新デザイン管理画面 に於いて、メイン実行ボタンは右配置 に変更されています。データ送信の動作で「実行」なら右ボタン、「キャンセル」なら左ボタン、という感じですね。

コメントの「削除」という動作は「コメント編集ページ」で行われ、選択として「コメント内容編集後内容の送信」または「コメント自体を削除」のいずれかです。この場合のメイン動作は「再送信」であり、サブ動作が「削除」と考えます。

GoogleやAppleの関連のサイトでは「メイン実行は右」というスタイルになっていますが、Microsoftは逆で「左実行、右キャンセル」ではあるんですが、FC2の全体管理が「右実行」になっていますのでそれに合わせようとしたのが今回の2テンプレートです。それ以前のテンプレートはボタン配置が逆になっています。

で、データの送信に利用される form要素 の特徴として、お困りになった方もそうでない方もいらっしゃると思うんですが Enterキー押下で実行される というのがあります。編集ページの場合ボタンは2つあるわけですが、どちらがEnter実行されるかというと「左側」つまりhtmlで「先に書かれている方」です。

この関連をですね、後でちゃんとやろうと思ってわざとvalueの値を消し、位置を入れ替えておいて、先に他の部位を調整し、肝心なコメント周りの調整を失念して申請してしまった、というのが今回の私のミスの実態でございます。ごめんなさい (∵`)

Enter実行自体を止める、という方法もあるんですけども、これが便利かそうでないかは個人によりけり。私の場合は「便利」と思っているクチなので、この方法は避けています。というわけなので、作業フロー中の「順序入れ替え」及びスタイルシート修正を行わずにvalue値だけ入力、ということをやってしまうと、Enter実行で削除が行われてしまいますので必ずフローチャートに従って作業を行ってください。

お手数をおかけします。よろしくお願いします。
その他ご質問や不具合報告などは従来どおり各テンプレートの専用記事で承りますので、本記事のコメント欄は閉じておきます。また、現在大変多忙な状況にあり、恐らく1月中はログイン自体できない可能性が高いため、コメントへの返信が遅くなる旨あらかじめお伝えしておきます。申し訳ございません。

Related post