SHIGANAKUNAI

しがなくないデザイナーを目指す備忘録

Dreamweaverのテンプレートで条件分岐

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はすごく便利なんだけどなぁ。

AKIO KAI

からあげと温泉のまち、大分県出身大阪在住8年目。しがなくないデザイナーを目指してWeb、DTP、映像編集、3DCG、VRとかやってます。

著者の最新記事

コメントをお待ちしております

HTMLタグはご利用いただけません。