月送りカレンダーのカスタマイズです。リアルタイムカレンダー(本日の日付の装飾)および土・日・休日表示も盛り込まれています。月送りカレンダー」とは、アーカイブマッピングの方法が異なっており、「MT4でのカスタマイズ方法が分かりません」というリクエストを頂きましたので、本エントリーにて説明致します。月送りカレンダー」をご覧ください)。変更すれば他のテンプレートでもお使いになれます。1.スクリプトのダウンロード・アップロード下記のスクリプトをダウンロードします。メインページと同じディレクトリにアップロードしてください。ダウンロードしたスクリプトをメインページと同じディレクトリにアップロードしてください。以外で運用されている場合は、2.1項のカスタマイズも併せて行ってください。管理メニューの「デザイン」→「テンプレート」→「アーカイブテンプレート」→「アーカイブテンプレートを作成」の「ブログ記事リスト」をクリック。次画面で下記を設定してください。状態でペーストするとテンプレートの内容の改行が失われます。archive_type="Daily"$>"><$MTCalendarDay$></a></MTEntries></MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries><MTCalendarIfBlank><MTElse></span></MTElse></MTCalendarIfBlank></td><MTCalendarWeekFooter></tr></MTCalendarWeekFooter></MTCalendar></table>設定後は次のような感じになります。設定が終わったら「保存」をクリックしてください。動作することを前提としています。他の文字コードでブログを運用している場合、本カスタマイズが正常に動作しない可能性があります。プラグインを利用する方法を紹介します。出力するという作戦です。フォルダにアップロードします。2項で示したカレンダーテンプレート全体を下記の青色のタグで括ってください。サイトで、カレンダー動作と日本語表示の正常性は確認済です。等で文字コードを強制的に指定している場合は未確認です。3.カレンダーテンプレートを月別アーカイブに関連付けテンプレートを保存すると、同じページの下に「アーカイブマッピング」の項目が表示されるので、「新しいアーカイブマッピングを作成」をクリック。「種類」から「月別」を選択して「追加」をクリック。これでカレンダーテンプレートが月別アーカイブとして定義され、カレンダー用の「パス」が表示されます。注:「月別」欄の右側にあるチェックボックスは絶対にチェックしないでください。次に「パス」欄の右にあるセレクトボックスより「カスタム」を選択。「パス」欄に下記の内容を設定して、「保存」をクリックしてください。calendar/%y/%m/%i下のようになればアーカイブマッピングの設定完了です。4.日別アーカイブの追加この設定は、カレンダーに表示された日付のリンク先のページとして日別アーカイブを生成するためのものです。注:この設定を行わないと月別アーカイブの再構築で下記のエラーが表示されます。「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」を選択。アーカイブマッピングの「新しいアーカイブマッピングを作成」をクリック。「日別」を選択して「追加」をクリック。これで日別アーカイブが追加されました。間に下記を追加して「保存」をクリック。「デザイン」→「テンプレート」→「テンプレートモジュール」→「サイドバー2(またはサイドバー)」をクリックし、カレンダーを表示させたい位置に下記を追加して「保存」をクリック。よってこの部分にカレンダーが表示されます。「デザイン」→「テンプレート」→「スタイルシート(メインまたはベーステーマ)」を選択し、下記を追加して「保存および再構築」をクリックします。#0000ff;}公開テンプレートの場合、すでにカレンダー関係のスタイル設定が行われており、設定の競合を避けるため、古い設定(下)を削除またはコメントアウトしてください。全てのページを再構築します。これでメインページ等を表示してカレンダーが表示されれば完成です。...</div>を追加することで、ページ描画でカレンダーが表示されるまでローディング状態を示すことができます。タグを設定すれば画像を表示することも可能です。月送り時は挿入した文字は表示されません。カレンダー取得失敗の場合は表示が消えます(これは7項の設定と関連します)。非同期通信でカレンダーファイルを取得・表示しますが、何らかの原因で通信に失敗し、正常に取得できない可能性があります。エラーが多発すると取得に失敗するようです。Foundを表示するようにしています。下記の青色部分が対応します。Found';}メッセージを変更したい場合はこの青色部分を修正してください。非同期通信に失敗した場合にカレンダー表示エリアの書き換えが行われなくなりますが、6項の表示がそのまま残りますのでご注意ください。...」というメッセージの代わりに、カレンダータグ(通常のカレンダータグ)を埋め込んでおくという手もあります。月送りカレンダーに切り替わり、失敗すれば通常のカレンダーがそのまま表示されます。表示された場合、以下の問題が考えられます(全てではありませんが思いついたものを挙げておきます)。Found)はカレンダーアーカイブへのパスの設定が誤っているか、アーカイブが生成されていない可能性があります。逆に、カレンダーが表示されてブラウザにそのカレンダーが表示されない場合は、ブラウザの再起動や、ブラウザのキャッシュ・一時ファイルの削除等を行ってみてください。なっていることを確認してください。表示されるという場合は、2項のテンプレートに埋め込んでいるアーカイブパスが誤っている可能性があります。あるのは次のように最後の"/"が抜けているケースです。ない場合に発生します。2007.08.212項と4項の「ブログ記事」を「ブログ記事リスト」に修正しました。2007.11.085.2項のタグに一部誤りがありましたので修正致しました。2009.02.24手順4の2枚目の画像を追加しました。構築備忘録このAjaxの月送りカレンダーの設置には相当手こずった。試行錯誤の結果、なんとか無事MT4を動かすことが出来た。Element's:Blogタイトルのとおり。今回もやっぱり小粋空間から。Element's:タイトルのとおり。今回もやっぱり小粋空間さんから。瑞了奇譚カレンダーを変更しました。以前にも同じような内容の記事を書いていますが、設置に失敗しておりました。月送りカレンダー(MT4版)」を見ながら設置。『今日の日記』こんにちは。Ajaxカレンダーを導入してみた岩崎です。小粋空間さんのAjaxカレンダーを設置する。詳しくは小粋空間さんのこちらの記事に乗っています。使い始めて3ヶ月が経つ。池袋千川校のブログ備忘録を兼ねて記事を投稿します。久々にサイトのカスタマイズをしてみた。たっちゃんのまったりブログさて、ブログカスタマイズ。ブロッけんJrブログにカレンダーを追加しました。今回はデザイン改造というよりも機能の追加。PMコメントこの度はMT4へのAjaxの月送りカレンダーの設置手順ありがとうございました。カスタマイズをやってみました。似たような格好は出てきました。ところが、エラーが出ます。Dailyアーカイブにリンクするためにタグを使っていますが、アーカイブが出力されていません。アーカイブのブログ記事のマッピングがちゃんと出来ないのが原因かなっと思いますが分かりません。118.』のエラーが発生します。何かヒントになるものがありましたら、是非ご教授願いたいと存じます。PM>西山雄一郎さんこんにちは。ご質問の件につきまして、4項のエラーメッセージと全く同じ事象のようですが、4項(日別アーカイブの追加後、「保存」までクリックしてください)、および7項の再構築は実施されましたでしょうか。おそれいりますが設定状況を再度ご確認ください。カレンダーアーカイブの「月別」にはチェックを入れないでください。それではよろしくお願い致します。いつも参考にさせて頂いております。月送りカレンダー」を試していて気づいたのですが・・・2項と4項の「ブログ記事」の部分を「ブログ記事リスト」に置き換えて試したところうまくいきました。PM>kayさんこんにちは。ご利用ありがとうございます。記事へのご指摘ありがとうございました。本文は先程修正致しました。MTのサイト作成でいつも参考にさせて頂いております。月送りカレンダー」を導入してみましたが上手くいきませんでした。Foundが表示され、月送りの矢印が出ませんでした><再度記事と作業を確認してみましたが、ダメでした。どこがおかしいか心当たりがあるようでしたらアドバイスいただければ幸いです。