2006年4月17日(月) 09:12

MTのカテゴリーの順番を並ベ替える (MT4i2.1β対応)

MovableTypeのカテゴリー名を任意の順に並べ替える方法をMTのカテゴリーの順番を並ベ替える (MT4i対応)で書きましたが、その後リリースされたMT4i 2.1βxでカテゴリー名の処理が変わったようなので、ここに修正方法をエントリーしておきます。
※当初少し行数が変わっただけかと思いそう記述していたのですが、全く違っていたので新規投稿しています。

これを投稿した時点での最新版「MT4i2.1β4」で確認しています。β1~3は私はソースの閲覧すらしたことがありませんので未確認です。

今後のマイナーバージョンアップでまた行数が変わると思いますので、基準となる行をベースに探して下さい。
前回同様、mt4i.cgiに二行追加するのみです。※コードはタブを全角スペースにして表示おります。

前回は二箇所とも全く同じコードでしたが今回は変数名が異なります。
ご注意下さい。

まず、3385行目あたり、サブルーチンcheck_category内の以下の場所に、以下の赤字になっている一行を足します。
「return $cat_label;」を検索して、その上の行に追加すればいいでしょう。

  for my $cat_data (@cat_datas) {
      if ($match_cat == 1) {
       last;
      }
     }
    }
   }
  }
 }
 $cat_label =~ s/^\d+\)//;#←この行を追加
 return $cat_label;

次に、3495行目あたり、サブルーチンget_subcatlist内の以下の場所に、以下の赤字になっている一行を足します。
「if ($cat == $id){」を検索して、その上の行に追加すればいいでしょう。

  $label = $blank . $label;
 }

 $label =~ s/^\d+\)//;#←この行を追加
 if ($cat == $id){
  push @categories, "

これで、MT4i2.1β4でもカテゴリーが任意の順番で表示され、かつ数字が出ない状態になるはずです。