MT4i 記事一覧で(下書き)を表示する

MT4i の管理者モードでは、下書きや指定日投稿のエントリーも一覧に表示されます。Individual 表示(個別記事表示)モードではタイトルの先頭に「(下書き)」や「(指定日)」と追加されて表示されますが、一覧画面ではそれがありません。

太鉄さんのところでお願いした方がよい気もするんですがお忙しいようですし、何よりこだるまさんからご指名を受けてしまったので、一覧表示でも(下書き)や(指定日)の表示を追加する修正をしてみました。

修正範囲も少ないし改変版を配布するのも面倒なので、方法だけ書いておきます。ちなみに MT4i Ver2.0 を前提としています。

mt4i.cgi を EUCコードで編集可能なエディタで開き、main 関数内の下記部分(477行目あたり)

# 記事本文
my $i = 0;
for my $entry (@entries){ # 結果のフェッチと表示
  my $title = &conv_euc_z2h($entry->title);
  $title = "untitled" if($title eq '');
  my $created_on = &conv_euc_z2h(&conv_datetime($entry->created_on));
  ...

となっているところを

# 記事本文
my $i = 0;
for my $entry (@entries){ # 結果のフェッチと表示
  my $title = &conv_euc_z2h($entry->title);
  $title = "untitled" if($title eq '');
  # 下書き/指定日かどうかを調べる
  my $ent_status = $entry->status;
  my $d_f;
  if ($ent_status == 1) {
    $d_f = '(下書き)';
  } elsif ($ent_status == 3) {
    $d_f = '(指定日)';
  }
  $title = $d_f . $title;
  my $created_on = &conv_euc_z2h(&conv_datetime($entry->created_on));
  ...

という具合に修正します。赤の太字が追加部分です。Individual 表示処理内の該当部分をほぼ Copy&Paste というベタな修正で申し訳ないですが。(汗)

ちなみに、この改変によって生じたいかなる不利益に対しても責任は負いかねます。念のため。m(_,_)m

5 Comments

  • Pingback: Bamkero.net

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です