メモ:MTEntryIDでpad=1として桁オーバーしたときの表示は?

テンプレートタグMTEntryIDでpad=の値を「1」としたとき、桁が6桁を超えた場合の表示がどうなるかやってみました。あくまでもネタなんですが。

MTEntryIDは主にアーカイブページなんかでエントリーへのリンクとして利用されるテンプレートタグですが、pad="1"を設定しているときは、常に6桁の表示となります。

桁数が足りないとき、0 で埋めて表示します。ID が 8 なら 0 を 5 つ追加し、000008 と表示されます。

MTEntryID|テンプレートタグリファレンスから

で、IDが6桁を超えたとき表示はどうなるの?というギモンがおこり(謎)、実際に試してみる、てことにしました。

とはいえ、個人のユーザが6桁越え(削除等含め100万エントリ!!)のエントリを作成するのは現実的な数字ではありません。#なんか健全でない使い方のひとだとEntryID7桁以上を見れるような気が。なんとなく。

普通に記事書くくらいでは再現は無理ですので、データベースを書き換えてしまったほうが早いでしょう。あ・これは、ネタのためだけにおこなってるので(念の為)。

普通にテンプレートタグでEntryIDを出力させてもいいのですが、EntryIDを記事ファイル名にする、という使い方を想定して試してみるとします。

エントリーアーカイブのマッピングでカスタムを選択して以下のように設定しておきました。

%y/%m/<mt:EntryID pad="1">.html

phpMyAdminとかで、任意の記事のテーブル、`mt_entry`を操作してフィールド、entry_idの値を1000000にします。

change_entry_id.png

で、管理ページのエントリーリストのところから、その記事だけをPublishにします。

その記事のURLを確かめてみますと。

changed_entry_id.png

・・・・・・って、0で埋められなくてそのまま表示されるだけでないすか。。というか普通に考えたらそうだよね。

Comments:

コメントをどうぞ。書き込む場所が不明な場合やサイトオーナーへのコンタクトは、GuestBookまでお気軽にどうぞ

sky 2011年2月24日 20:17
私も6桁越えたらどうなるんだろう!とググってこちらに辿り着きました(笑) 普通に考えれば、確かにそうですね…。 でもこれは実際に確認しないと判らない事ですので、これを実際に実験してくださった事に感謝!です!

blog comments powered by Disqus