HTMLのファイル名と同じclass名をbody要素に付加するSSI
スポンサードリンク
ページごとに適用したい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がどーたらとかやらずに、ちゃんとしたソフトとか買ったほうがいいときもあるのかもしれません。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3614





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする