sb → Serene Bach テンプレート移行メモ
- tips
- 2005/08/25 木
- comments (1)
- trackbacks (2)
大した話ではないんですが、はまる人ははまるので…。
Serene Bach は sb の後継スクリプトですので、テンプレートも sb や JUGEM と互換性があります。ただし、Serene Bach では独自タグの制御方法が多少異なるため、sb で正常に表示されたテンプレートで一部動作しないものがあります。
が、せっかく sb で公開された豊富なテンプレートパッケージが使えないのもちょっと寂しいので、ユーザが sb のテンプレートを Serene Bach 向けに直すポイントを挙げておきます。
勿体つけてますが、ポイントは1点のみ。Serene Bach のテンプレートでは、独自タグは独自ブロックとペアで使う必要がある
ということです。一部のサイト全体に関わる独自タグを除いて、独自ブロックのない独自タグは有効化されません。sb の時は、表示結果に大きく関わる独自ブロックを除いてはそれほど厳密ではありませんでした。
この変更で一番影響があるのは、おそらくアクセス解析タグ {collect_log}
とカウンタ表示タグ {show_counter}
です。これらのタグは、sb では独自ブロックが準備されていませんでしたが、Serene Bach では <!-- BEGIN counter -->
~ <!-- END counter -->
という独自ブロックが用意されています。このタグが書かれた sb テンプレートをそのまま Serene Bach で使用した場合、サンプルではカウンタ表示があったのに自分のサイトに適用するとカウンタが出ない、といったトラブルになります。
また、上でも少し触れましたが、sb には元々独自ブロックの定義があるにもかかわらず、独自ブロックを書かなくても表示されていた独自タグがいくつかあります。こういった独自タグが独自ブロックとともに書かれていないのは単純にテンプレート作成者の誤りですが、結果として sb では表示されていたものが Serene Bach では表示されないというトラブルになり得ます。
こういったトラブルに対応する場合、残念ながらこれをこうしたらいい
というバカチョンな解決方法はありません。テンプレートを展開した後でソースを地道に追いかける、ということになります。独自タグと独自ブロックの対応、および独自ブロックに依存しない独自タグの情報は、Serene Bach アーカイブに同梱のヘルプファイル doc/src/template_ja.html
内の独自ブロック
および独自タグ
の項に記述されていますので、にらめっこして直してみて下さい。
ここからは余談ですが、sb でも Serene Bach でも、スクリプト内で制御対象になっていない独自ブロックは表示結果の出力時にブロックごと削除されます。リンクリストを <!-- BEGIN BlogPeople -->
~ <!-- END BlogPeople -->
などで囲んでしまって、プレビュー時に表示されないというのは割合よくあるミスのひとつですが、これが本件と何の関係があるかというと、Serene Bach で新規に定義された独自ブロック(<!-- BEGIN counter -->
~ <!-- END counter -->
等)は、sb では「制御対象外の独自ブロック」になってしまうという点です。つまり、Serene Bach 用
と銘打たれて公開されたテンプレートを sb で使おうとすると、こういった点で引っかかる可能性があるということを申し添えてこのエントリを終わりたいと思います。もちろん Serene Bach で新規定義された独自タグ(主に CSS に使える独自タグ)もトラブルの元になるのはいうまでもありません。
コメント(日付順)▼コメントフォームへ
はじめまして。
TBピープルからお邪魔しております。
先日から、DLしたテンプレートのカウンターが表示されず
プラグインを設定しなおしたり、HTMLと睨めっこしたり
色々してましたが表示されず諦めていました。
こちらの記事を参考にして<!-- END counter -->・・などを
取っ払ったところ表示されました!!!
すごく感激です。 ありがとうございます。
今夜は、ぐっすり眠れそうです。(笑)
コメントする