Dreameweaverのテンプレート使用時に、表示をbodyのidによって条件分岐させる記述。
まずはbodyのidを編集できるようにします。
<html> <head> <!-- TemplateParam type="text" value="" name="bodyのID" --> </head> <body id="@@(bodyのid)@@"> </body> </html>
次に<body>内に分岐の条件を記述します。
<!-- TemplateBeginMultipleIf --> <!-- TemplateBeginIfClause cond="bodyのid == 'toppage'" -->トップページ<!-- TemplateEndIfClause --> <!-- TemplateBeginIfClause cond="true" -->それ以外のページ<!-- TemplateEndIfClause --> <!-- TemplateEndMultipleIf -->
bodyのidが「toppage」のときは「トップページ」と表示され、
bodyのidが「toppage」じゃないときは「それ以外のページ」が表示されます。
んで、ここからが本題。
このページとこのページは同じ表示、それ以外全てのページはこの表示にしたい。
でも入れ子のテンプレートを作るほどじゃない。
という場合がちょくちょくあります。
<!-- TemplateBeginMultipleIf --> <!-- TemplateBeginIfClause cond="bodyのid == 'toppage'" -->トップページとサイトマップ共通の表示<!-- TemplateEndIfClause --> <!-- TemplateBeginIfClause cond="bodyのid == 'sitemap'" -->トップページとサイトマップ共通の表示<!-- TemplateEndIfClause --> <!-- TemplateBeginIfClause cond="true" -->それ以外のページ<!-- TemplateEndIfClause --> <!-- TemplateEndMultipleIf -->
こう書けば分岐可能だけど、修正・変更時に複数箇所書き換えないといけないのはめんどくさいし、漏れが出る可能性もあるのでイヤです。
「柔軟性をもたせたコーディング」が僕のモットーなので、もっとスマートに、
bodyのidが「toppage」と「sitemap」の場合と、それ以外の場合。
って分岐方法が理想。
ググってもあまり情報が出てこなかったんですが、コネコネしてたらなんかできました。
<!-- TemplateBeginMultipleIf --> <!-- TemplateBeginIfClause cond="(bodyのid == 'toppage')||(bodyのid == 'sitemap')" -->トップページとサイトマップ共通の表示<!-- TemplateEndIfClause --> <!-- TemplateBeginIfClause cond="true" -->それ以外のページです<!-- TemplateEndIfClause --> <!-- TemplateEndMultipleIf -->
こんな感じ。
bodyのidが「toppage」か「sitemap」のときは「トップページとサイトマップ共通の表示」と表示され、
bodyのidが「toppage」でも「sitemap」でもないときは「それ以外のページ」が表示されます。
こんなことばっかやってるから「まだDreamweaverなんか使ってるの!?」って言われるのか。
多人数でコーディングすること考えると編集不可能領域が作れるDreamweaverはすごく便利なんだけどなぁ。
コメント