エントリー記事

httpとhttpsで、オプション領域で分岐するDreamweaverのテンプレート

デザイン

こんなシチュエーションってないですか?

  • 通常サイトはhttp://hogehoge.jp/
  • カートはASP(https://ASPカート.jp/hogehoge/)

これだと、通常サイトの場合、CSSや画像ファイル、Java scriptはhttp://hogehoge.jp/にあればいいんですね。でも、カートに入れたときはhttps://ASPカート.jp/hogehoge/にないとダメです。

え?なんでダメかって?SSLだからです。ブラウザのアラートが気にならない人は別ですが。

これをDreamweaverでやろうとすると、解決方法は2つあります。

  1. テンプレートをhttpとhttpsの2つ分作る
  2. テンプレートでオプション領域を使って、1枚のテンプレートからhttpとhttpsの2つに分岐する

1でも2でも自由ですが、テンプレートを2つ用意するのって、なんだかダブルスタンダードでイヤンなテイストがしません?

ちうわけで、マスターのテンプレートからhttpとhttpsの2つに分岐する方法です。

Dreamweaverのテンプレートの分岐

HTMLのHEADの部分で、ドリな方ならおなじみの「オプション領域」を使って、読み込み先を変えるだけです。MTな人でも、タグを見ただけでだいたいわかっちゃうかも知れません。


<!-- TemplateParam name="ssl" type="boolean" value="false" -->

<!-- TemplateBeginMultipleIf -->
<!-- TemplateBeginIfClause cond="ssl == true" -->
<link href="https://ASPカート.jp/hogehoge/template/css/import_ssl.css" rel="stylesheet" type="text/css" media="screen,tv,projection,print" />
<!-- TemplateEndIfClause -->

<!-- TemplateBeginIfClause cond="ssl == false" -->
<link href="../template/css/import.css" rel="stylesheet" type="text/css" media="screen,tv,projection,print" />
<!-- TemplateEndIfClause -->
<!-- TemplateEndMultipleIf -->

オプション領域「ssl」のパラメータが、trueのときとfalseのときで、HEADで読み込ませる内容を分岐します。これを元に、ネストしたテンプレートを作れば、マスターテンプレートは1つで済みます。

今回はASPカートですが、共用SSLが使えるレンタルサーバーで、「お問い合わせフォームだけ共有SSLに対応したい」っていうシチュエーションでも使えますかね。デザイナー以外の方でも、オプション領域は要チェックなテクニックかと思います。