M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2011年6月11日 18:03

HTMLのファイル名と同じclass名をbody要素に付加するSSI

このエントリーをはてなブックマークに追加 mixiチェック

ページごとに適用したいCSSが違うとき、CSS編集時にページを特定して記述したくなりますが、そうするためには、ページを特定できるようなclass名をつける必要があります。

そういうわけで、Apache 2のSSIを使って、HTMLのファイル名と同じclass名をbody要素に付加して、CSS適用を容易にする書き方です。

<html>
  <head>
  </head><!--#set var="c_docname" value="$DOCUMENT_NAME"
--><!--#if expr="$c_docname = /(.+?)[\.\w]+/"
--><!--#set var="c_docname" value="$1"
--><!--#endif -->
  <body class="<!--#echo var="c_docname" -->">
    <p>なにか</p>
  </body>
</html>

例:

http://www.example.com/<body class="index">
http://www.example.com/index.html<body class="index">
http://www.example.com/unko.html<body class="unko">

c_docnameの「c_」というのは、プレフィックスのつもりです。自分の頭文字とか会社名とかから採用して、ほかの環境変数と混じらないようにしてください。

あと、別にbody要素にclassを付加するのではなく、もっとダイナミックにHTMLファイルと同じ名前のcssファイルを読むっていう方法もありますよね。お好みでお願いします。

こうやって独自手法でがりがり書いているのですが、僕死んだあと、引継ぎに回された人が果たしてソース見てわかるんだろうかとか思います。業務の連続性を保つためには、むりくりSSIがどーたらとかやらずに、ちゃんとしたソフトとか買ったほうがいいときもあるのかもしれません。

投稿 大野 義貴 [Web] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3614

コメントする