Serene Bach テンプレートの互換性問題
- 2009.04.15 Wednesday
- dev
Serene Bach 2 のテンプレートでは、入れ子になった独自ブロックを擬似的に扱っています。
一方、Serene Bach 3 のテンプレートでは、入れ子になった独自ブロックをきちんと階層的に扱うように変更されました。
例えば、
_main-1 ****** <!-- BEGIN test1 --> test1-1 <!-- BEGIN test2 --> test2 <!-- END test2 --> test1-2 ****** <!-- END test1 --> _main-2
のような構成のテンプレートがあったとして、
- 独自ブロック test1 を 2 回繰り返す
- 独自ブロック test2 を 1 回繰り返す
という場合、
_main-1 ****** test1-1 test2 test1-2 ****** test1-1 test2 test1-2 ****** _main-2
のようになるのが自然だと思いますが、Serene Bach 2 ではそのように出力することができませんでした。
Serene Bach 3 では、このような入れ子構成を維持したまま、テンプレート処理を行なうので、期待通りに出力されます。
しかしながら、その代償として「同じ名前の独自ブロックが離れて置かれた」ようなテンプレートに対して、Serene Bach 2 と同じように出力されないという互換性の問題がありました。
例えば、
_main-1 <!-- BEGIN test1 --> <!-- BEGIN test3 --> test3-1 <!-- END test3 --> test1-1 test1-2 <!-- BEGIN test3 --> test3-2 <!-- END test3 --> <!-- END test1 --> _main-2
のような構成のテンプレートがあった場合、独自ブロック test3 が離れた場所に二カ所あります。
これまでの Serene Bach 3 では、このようなテンプレートを Serene Bach 2 と同じように出力することができなかったので、テンプレートの修正が必要になっていました。
この互換性の問題は、Serene Bach 3 の次のβ版リリースで解消されます。これによりテンプレートに関して Serene Bach 2 との互換性がかなり向上しています。
スポンサーリンク