お知らせ

作って覚えるPHP+MySQLアプリケーション 2008年6月24日

作って覚えるPHP+MySQLアプリケーション」が発売されました。
PHP+MySQL+Smartyを使って、ブログ/ショッピングサイト/マッシュアップの3つのWebアプリケーションを作る方法を解説しています。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

エントリーの投稿日を公開日に自動変更する(MT3.2用)

| コメント(4) | トラックバック(17)

2006年3月6日 エントリーの確認画面で保存したときに正しく動作しない不具合を修正しました。

以前に、「エントリーの作成日時を公開日時に自動更新する」というプラグインを公開していました(ReleaseDateプラグイン)。
それをMovable Type 3.2用にして、なおかつ機能も改良しました。

1.このプラグインの動作

Movable Typeでは、エントリーの日時として表示されるのは、「エントリーを新規作成した時点の日時」です。
MT3.2では、エントリー編集画面に「投稿日」の欄があり、エントリーを新規作成した時点で、その日時が「投稿日」の欄に設定されます。
エントリーを公開しても、この欄の日時は公開時点の日時にはならず、新規作成した時点の日時のままです。

エントリーを書いてすぐに公開すれば、投稿日と公開日の差は数分で済むでしょう。
しかし、エントリーを少しずつ書いてから公開したり、公開前に何度も推敲したりした場合、投稿日時と公開日の間にかなりのギャップがあくこともあり得ます。

そこで、このプラグインは、エントリーを公開する時点で、エントリーの投稿日を公開日に自動的に更新します。
また、エントリーごとに、自動更新するかどうかを設定することができます。

更新は以下のタイミングで行われます。

  • 下書きのエントリーを公開に変えて保存する時点
  • エントリーを新規作成し、下書きを経由せずに保存して、公開する時点

一度公開したエントリーを再編集して保存しなおした場合は、日付は変更しません。

2.BIGPAPIのインストール

このプラグインは「BIGPAPI」というプラグインとともに動作しますので、BIGPAPIをインストールします。
BIGPAPIの内容やインストールについては、以下のエントリーを参照してください。

管理画面のカスタマイズをプラグインで行う「BIGPAPI」

3.プラグインのインストール

以下のリンクをクリックして、プラグインのファイルをダウンロードします。

ReleaseDate_1_20.zip

ファイルを解凍すると、「ReleaseDate.pl」というファイルができます。これを、Movable Typeの「plugins」ディレクトリにアップロードします。
なお、このファイルは文字コードをutf-8にしてあります。それ以外の文字コードをお使いの方は、文字コードを変換してアップロードしてください。

4.デフォルトの動作の設定

投稿日の自動更新をデフォルトでオンにするかどうかは、Blogごとに設定することができます。
個々のBlogの設定のページで「プラグイン」のタブを開き、「ReleaseDate」のところの「設定を表示」をクリックします。
すると、「エントリーの投稿日を公開日に自動変更する」のチェックボックスが表示されます。
このチェックをオンにすると、デフォルトで自動更新がオンになります。
オフにした場合は、デフォルトでは自動変更しないようになります。

デフォルトの動作の設定

5.エントリーごとの設定

エントリーの投稿のページでは、「投稿日」の欄の下に「投稿日を公開日に変更」のチェックボックスが表示されます。
このチェックをオンにした状態でエントリーを公開すると、投稿日が公開日に自動更新されます。
ただし、公開済みのエントリーでは、このチェックボックスは表示されません。

「投稿日を公開日に変更」の設定

なお、手順4.で「エントリーの投稿日を公開日に自動変更する」のチェックをオンにしておくと、エントリーを新規作成した時点で、「投稿日を公開日に変更」がオンになります。
「通常は投稿日を公開日に自動更新する」という場合は、4.のチェックをオンにしておきます。

一方、手順4.で「エントリーの投稿日を公開日に自動変更する」のチェックをオフにした場合、エントリーを新規作成した時点では、「投稿日を公開日に変更」がオフになります。
「通常は自動更新しないが、時々自動更新を使う」という場合、4.のチェックをオフにしておき、エントリーを公開する前に「投稿日を公開日に変更」のチェックのオン/オフを設定するようにします。

6.UpdateAuthoredOnプラグインとの共存

BIGPAPIの作者のKevin Shai氏は、「UpdateAuthoredOn」というプラグインも公開しています。
UpdateAuthoredOnプラグインは、エントリーの編集画面にボタンを追加して、そのボタンがクリックされたときに、投稿日をその時点の日時に書き換えるという動作をします。

UpdateAuthoredOnプラグインと、このエントリーのReleaseDateプラグインは、共存することができます。
UpdateAuthoredOnプラグインのボタンで投稿日を書き換えた場合、「投稿日を公開日に変更」のチェックをオフにしてエントリーを公開すれば、ボタンを押した時点の日時のままになります。
用途に応じて、UpdateAuthoredOnプラグインのボタンでの日時変更と、ReleaseDateプラグインでの自動変更とを使い分けると良いでしょう。

トラックバック(17)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/347.

毎度お世話になっております The blog of H.Fujimoto の壱... 続きを読む

いままではエントリー投稿画面に 現在時刻で投稿するボタン をつけていたんだけど、... 続きを読む

投稿日の時間を自動で更新出来るようにしました 私の場合、新規でエントリーを書く時... 続きを読む

ツール・ド・もんち - Tour De MonChi - - 投稿日の変換プラグイン (2005年11月21日 15:46)

当ブログはMovableTypeを利用して作成してますが、この機能が欲しかったの... 続きを読む

[美]Musabi Diary -えいびっと- - ??????????醇B?? (2006年1月 8日 20:36)

?????μ?????? ???????????????Ρ???????????... 続きを読む

MT3になってから少々困ったことに気づきました。 あんまり気にすることでも無いの... 続きを読む

applepie in the afternoon - 投稿日の編集 (2006年2月10日 00:54)

つねづね なんとなく覚え書きのようにタイトルと要点... 続きを読む

The blog of H.Fujimoto:エントリーの投稿日を公開日に自動変... 続きを読む

ネット収入を求めてその2 - ReleaseDateプラグイン【第1回】 (2006年3月12日 18:10)

私は忘れやすいので、MTのプラグインの備忘録書いていこうと思います。これを読んだらMTの良さが分かるかも… 第1回はReleaseDate... 続きを読む

MovableType3.2の投稿日時をプラグインで実際の投稿日時に自動変更! 続きを読む

無料ネット生活友の会~ブログ編 - 投稿日時を公開日時に変更 (2006年5月 2日 22:13)

MovableType の default では、 エントリー新規作成時に投稿日... 続きを読む

livedoorブログにある、「投稿時間を予約」する機能をMovable Typ... 続きを読む

たいしたこともしていませんが、私が導入しているプラグインのMT3.3における動作... 続きを読む

第26回では、重複トラック防止プラグインについて紹介しました。今回は、エントリーの投稿日を公開日に自動変更するReleaseDate というプラグインにつ... 続きを読む

■下書きを多用する人必携のプラグイン 最近、メモ代わりにMovabl... 続きを読む

徒然気儘な綴方帳 - テストエントリー (2006年9月 3日 07:11)

えーと、MTでは基本的に、「新規エントリーを投稿」をクリックしてエントリー投稿画面を出した時刻がエントリーの投稿日時としてセットされるのですが、実際にひと... 続きを読む

前からやろう、やろう、と思っていて、機を逃していたカスタマイズをついでに。 なんのついでかというと、ここ数日 MTカレントディレクトリ/tmpl/cms.... 続きを読む

コメント(スレッド4件,コメント4件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 さえら : (無題)

こんにちは。「ボタンがクリックされたときに、投稿日をその時点の日時に書き換える」っていうのを付けています。それがKevin Shai氏の「UpdateAuthoredOn」なのかどうかは はっきしませんが、「投稿日」の欄の下に「Now」というボタンができてます。ReleaseDate.plをアップしたのですが「投稿日を公開日に変更」のチェックボックスが表示されません。

No.2  : (無題)

>さえらさん
こんにちは。

ReleaseDateプラグインでは、edit-entry.tmplファイルの中で以下の部分を検索して、チェックボックスを追加するように置換するという処理を行っています。

<input name="created_on_manual" id="created_on_manual" tabindex="8" value="<TMPL_VAR NAME=CREATED_ON_FORMATTED ESCAPE=HTML>" />
</div>

「投稿日の欄の下に『Now』のボタンがある」ということからすると、上記の<input・・・>と</div>の間にボタンが追加されていると思われます。
それだと検索に引っかからなくて置換ができず、チェックボックスが表示されない現象が起こります。
ご確認ください。

ちなみに、UpdateAuthoredOnプラグインでは、「投稿日」の右の「?」の右に、ボタンが追加されるようになっています。

No.3 さえら : (無題)

こんばんは。edit_entry.tmplを調べてみたところ、おっしゃるとおりになってました。ボタンを<input>と</div>の外に出したらチェックボックスがちゃんと表示されました。やむやむの場合、普通に投稿しようとするとエラーになってできないので、毎回「ほぼ指定日」投稿で投稿してますから、まともに投稿できるようになるまで(そんなときがくるのかどうかわからないですが)Nowボタンも チェックボックスも あってもあまり意味がないですね。だけどチェックボックスが表示されない理由がわかってよかったです。ありがとうございました。やむやむと同じMTで作ってる別ブログがあって、そちらはエントリの数もまだ100に満たないので、「ほぼ指定日」を使わなくてもまともに投稿できます。そちらのブログで 「公開日に自動変換」を使わせていただこうと思っています。

No.4 mituru : (無題)

こんばんは、壱さん
此方のプラグインも、DLさせて頂きました。

ありがとうございます。
記事を編集している時に、誤ってトラックバックを
重複してしまいました。すいませんでした。

コメントする