MT4i v2.11でカテゴリーの並べ替えを行う

先日、Movable Typeを携帯電話に対応させる「MT4i」がバージョンアップして、v2.11になりました。
ただ、MT4iでは、拙作の「カテゴリーの並べ替え」のプラグインは動作せず、そのままではカテゴリー名の前の連番等が表示されます。

MT4i 2.1β5の時に、この問題を解決する方法を紹介しましたが、MT4i v2.11でも同じ方法で連番等をカットすることができます。
ただし、書き換える行の位置が変わっていますので、MT4i v2.11での書き換え方を解説します。

カテゴリー選択部分の修正

まず、mt4i.cgiの中で、カテゴリー選択を行う部分を修正します。

カテゴリー並べ替えプラグイン旧版をお使いの方は、以下の箇所で赤字の行を追加します。
なお、「substr $label, x」の「x」の部分には、カテゴリー名の先頭から切り取る文字数を指定します。

・3650行目付近

if ($cfg{CatDescReplace} eq "yes"){
    $label = &conv_euc_z2h($category->{column_values}->{description});
    $label = substr $label, x;
    # カテゴリ名ぶった切り
    if ($cfg{LenCutCat} > 0) {

・3660行目付近

if ($cfg{CatDescReplace} eq "yes"){
    $label = &conv_euc_z2h($category->{column_values}->{label});
    $label = substr $label, x;
    # カテゴリ名ぶった切り
    if ($cfg{LenCutCat} > 0) {

カテゴリー並べ替えプラグインの新版をお使いの方は、以下の箇所で赤字の行を追加します。
なお、区切りの文字として「|」以外を使っている方は、「quotemeta("|")」の部分の「|」を書き換えてください。

・3650行目付近

if ($cfg{CatDescReplace} eq "yes"){
    $label = &conv_euc_z2h($category->{column_values}->{description});
    my @label_tmp = split quotemeta("|"), $label;
    $label = $label_tmp[2];
    # カテゴリ名ぶった切り
    if ($cfg{LenCutCat} > 0) {

・3660行目付近

if ($cfg{CatDescReplace} eq "yes"){
    $label = &conv_euc_z2h($category->{column_values}->{label});
    my @label_tmp = split quotemeta("|"), $label;
    $label = $label_tmp[2];
    # カテゴリ名ぶった切り
    if ($cfg{LenCutCat} > 0) {

エントリーのタイトル部分の修正

個々のエントリーを表示する際に、エントリーのタイトルの後にカテゴリー名を付けて表示することもできます。
その設定をオンにする場合は、mt4i.cgiの820行目付近に、以下の赤字の行を追加してください。
なお、「x」および「|」については、前述の書き換えと同じようにします。

・旧版のプラグインをお使いの場合

if ($cfg{IndividualCatLabelDisp} eq 'yes') {
    my $cat_label = &check_category($entry);
    $cat_label = substr $cat_label, x;
    $data .= "[$cat_label]";
}

・新版のプラグインをお使いの場合

if ($cfg{IndividualCatLabelDisp} eq 'yes') {
    my $cat_label = &check_category($entry);
    my @cl_tmp = split quotemeta("|"), $cat_label;
    $cat_label = @cl_tmp[2];
    $data .= "[$cat_label]";
}