「WordPressで学ぶPHP(1)変数・制御構造編」が発売されました。
「WordPressで学ぶPHP」シリーズの第1巻で、WordPressを通してPHPを学んでいく本です。
この本では、PHPの基本となる変数と制御構造について解説します。
Kindle本で、定価500円です。
Movable Type 5.1RC4でsort_methodモディファイアが使えない
先日もお伝えしたように、カテゴリとフォルダの並べ替えプラグイン(SortCatFld)を、Movable Type 5.1の標準機能に移行するプラグインを提供する予定です。
プラグインは出来上がりましたが、そのテストをしていた時に、Movable Type 5.1RC4で「sort_methodモディファイアが使えない」という不具合を見つけました。
この不具合への対応が確定したら、SortCatFld移行プラグインを公開したいと思います。
SortCatFldプラグインをご利用の方は、Movable Type 5.1へアップグレードする前に、この記事をお読みくださいますようお願いします。
1.Movable Type 5.1RC4の不具合
MTTopLevelCategoriesなどのカテゴリ/フォルダ一覧を出力するテンプレートタグでは、「sort_method」というモディファイアを指定することで、並び順を入れ替えるプログラムを起動することができます。
ところが、Movable Type 5.1RC4でsort_methodモディファイアを使うと、sort_byモディファイアを指定していないにも関わらず、再構築の際に以下のようなエラーが発生します(「○○○」にはテンプレート名が入り、「□□□」には「TopLevelCategories」などが入ります)。
テンプレート「○○○」の再構築中にエラーが発生しました: <mt□□□>タグでエラーがありました: sort_byとsort_methodは同時に利用できません。
なお、昨日(5月23日)に、この不具合をFogBugzで報告しました。
2.不具合による影響
SortCatFldプラグインでは、カテゴリ/フォルダの並べ替えを行うために、以下のどちらかの方法で、テンプレートを書き換えていただくようにしています。
- MTTopLevelCategories等のテンプレートタグに「sort_method="SortCatFld::Sort"」というモディファイアを付加する
- MTTopLevelCategories等のテンプレートタグを、MTSortedTopLevelCategories等に書き換える(Movable Type 5.0x用のSortCatFldプラグインのバージョン1.10以降)
SortCatFld移行用プラグインでは、SortCatFldプラグイン用に書き換えたテンプレートのままで、Movable Type 5.1の標準機能によるカテゴリ/フォルダの並べ替えを行えるようにしたいと考えています。
ただ、1.で挙げたように、sort_methodモディファイアを使っていると、再構築の際にエラーが発生します。
そのため、sort_methodモディファイアを使っている場合は、現状のままだとテンプレートの書き換えが必要になります。
3.アップグレード時の注意点
Movable Type 5.1のwikiページによると、Movable Type 5.1正式版は、明日(5月25日)にリリースされる予定です。
時間がないため、今回見つかった不具合は、制限事項として次のマイナーバージョンアップまで持越しになりそうですが、まだはっきりとはしていません。
不具合が修正されるかどうかで、Movable Type 5.1にアップグレードする際の手順に、以下のように差が出ます。
3-1.不具合が修正されない場合
不具合が修正されないままでMovable Type 5.1がリリースされた場合は、2.で挙げたように、再構築の際にsort_methodモディファイアがエラーになります。
したがって、sort_methodモディファイアで並べ替えを行っている場合には、テンプレートの書き換えが必要になります。
Movable Type 5.1にアップグレードする際の大まかな手順は、以下のようになります。
- Movable Typeを5.1にアップグレード
- SortCatFldプラグインを削除
- SortCatFld移行用プラグインをインストール
- カテゴリ/フォルダの並び順のデータを変換
- テンプレート内の「sort_method="SortCatFld:Sort"」のモディファイアを削除
なお、sort_methodモディファイアを使わずに、MTSortedXXXタグに書き換えてカテゴリ/フォルダの一覧を出力するようにしていただいている場合は、テンプレートの書き換えは不要です。
SortCatFld移行用プラグインを使うことで、従来のテンプレートのままで、Movable Type 5.1の並べ替え機能で指定した通りにカテゴリ/フォルダの一覧を出力することができます。
この場合の大まかなアップグレード手順は、以下のようになります。
- Movable Typeを5.1にアップグレード
- SortCatFldプラグインを削除
- SortCatFld移行用プラグインをインストール
- カテゴリ/フォルダの並び順のデータを変換
3-2.不具合が修正された場合
不具合が修正されてからMovable Type 5.1がリリースされた場合は、sort_methodモディファイア/MTSortedXXXタグのどちらの方法でも、テンプレートを書き換えることなく、アップグレードを行うことができます。
この場合の大まかなアップグレード手順は、以下のようになります。
- Movable Typeを5.1にアップグレード
- SortCatFldプラグインを削除
- SortCatFld移行用プラグインをインストール
- カテゴリ/フォルダの並び順のデータを変換