クエリ文字列パラメータを使用して、ロードするスタイルシートを決定します。
基本的に、使用しているテーマに関係なく、常にロードされる一般的なスタイルシートを作成します。次に、テーマ固有のルールを個別のスタイルシートに配置し、PHPif
ステートメントを使用して、適切なページをロードするために送信するマークアップを決定します。
<head>
<link href="common.css" rel="stylesheet" type="text/css" />
<link href="<?php echo $_GET["style"] == "iPhone" ? "iPhone" : "normal" ?>.css" rel="stylesheet" type="text/css" />
...
</head>
? :
ユーザーがクエリ文字列を変更して間違えた場合にデフォルトを送信する方法が必要なため、クエリ文字列から直接文字列を使用するのではなく、if-check(三項演算子)を使用することに注意してください。使用するテーマが複数ある場合は、switchステートメントを設定し、link
タグで参照する変数に適切なファイル名を保存できます。
$stylesheet = "default";
switch ($_GET["style"]) {
case "iPhone": $stylesheet = "iPhone";
case "bigBold": $stylesheet = "bigBold";
}
<link href="<?php echo $stylesheet; ?>.css" rel="stylesheet" type="text/css" />
使い方:
このコードをPHPページに追加するには、スイッチコードをページの上部に配置します(または、さらに良いことに、独自のinclude
dファイルに配置します。
ページのトップ
次のようにページを設定します。
<?php
$stylesheet = "default";
switch ($_GET["style"]) {
case "iPhone": $stylesheet = "iPhone";
case "bigBold": $stylesheet = "bigBold";
}
?>
<!DOCTYPE html>
<html>
<head>
<link href="common.css" rel="stylesheet" type="text/css" />
<link href="<?php echo $stylesheet; ?>.css" rel="stylesheet" type="text/css" />
...
</head>
<body>
...
</body>
<html>
include
このコードは、別のスタイルを使用するすべてのページに追加する必要があるため、このコードをすべてのページに配置できるファイルに分割することをお勧めします。
含まれるファイルとして
名前の付いたファイルを作成し、次のstylesheetSelector.php
コードを追加します。
<?php
$stylesheet = "default";
switch ($_GET["style"]) {
case "iPhone": $stylesheet = "iPhone";
case "bigBold": $stylesheet = "bigBold";
}
?>
次に、PHPページで:
<?php include_once('stylesheetSelector.php'); ?>
<!DOCTYPE html>
<html>
<head>
<link href="common.css" rel="stylesheet" type="text/css" />
<link href="<?php echo $stylesheet; ?>.css" rel="stylesheet" type="text/css" />
...
</head>
<body>
...
</body>
<html>
すべてのページでこれを実行すると、テーマを追加することにした場合は、stylesheetSelector.php
ファイルに情報を追加するだけで、その情報が含まれるすべてinclude
のページで利用できるようになります。
警告:これは.php
ファイルで行う必要があります。そうでない場合、WebサーバーはPHPを使用して.html
ファイルを処理する必要があります。そうしないと、PHPコードがクリアテキストで表示されます(解釈されません)。