私はwesiteのルートディレクトリに置かれたときに正しく読み込まれるmanifest.jsonファイルを持っています。静的なファイルではなく、自分のサイト内のPHP変数を使用して、マニフェスト内の値を入力したいと考えています。phpを使用してmanifest.jsonファイルを設定するにはどうすればよいですか?
私はこのin the specに関する情報を見つけることができず、可能かどうかわかりません。
マニフェストの名前をmanifest.php
に変更して、header('Content-Type: application/json')
を使用しました。私manifest.phpインサイド
<script src="<?php echo $SITE_URL;?>/main.js"></script>
<script src="<?php echo $SITE_URL;?>/sw.js"></script>
<link rel="manifest" href="<?php echo $SITE_URL;?>/manifest.php">
:私のインデックスファイルの頭の中
<?php header('Content-Type: application/json');
echo "
{
\"name\": \"$SiteName\",
\"gcm_user_visible_only\": true,
\"short_name\": \"$Name\",
\"description\": \"$PageDescription.\",
\"start_url\": \"/index.php\",
\"display\": \"standalone\",
\"orientation\": \"portrait\",
\"background_color\": \"$darkblue\",
\"theme_color\": \"#f0f0f0\",
\"icons\": [{
\"src\": \"logo-load.png\",
\"sizes\": \"96x96 128x128 144x144\",
\"type\": \"image/png\"
},{
\"src\": \"logo-icon.png\",
\"sizes\": \"48x48 72x72\",
\"type\": \"image/png\"
}]
}
";
?>
manifest.phpがロードされる前に、すべての私の文書の頭の中に定義されてい$SiteName, $Name, $PageDescription, $darkblue, etc
変数。
私は可能なのですか?
これはうまく動作するはずです。 manifest.phpから有効なJSONを取得していますか?あなたは配列を構築し、 'json_encode'を使うことを見ることができます - 問題を捕まえるのが簡単かもしれません。あなたは何にこだわっていますか? – ficuscr
私は有効なJSONを取得していますが、欠落している値(phpがあるはずの場所)があります。 json_encodeを使用して結果が異なるかどうかを調べよう –
'$ SiteName'にはどこに値が割り当てられていますか?あなたのコードはそのまま "動作"します。 – ficuscr