複数のプロジェクトで使用できるワンストップフィックスを検索しましたが、まだ機能するものが見つかりません。
したがって、サイトを構築するときは、サイト全体で使用されるサイトのヘッダー、ナビゲーション、およびフッターにPHPインクルードを使用します。
したがって、ヘッダー、ナビゲーション、本文、およびフッターを含むテンプレートファイルの場合、次のようにします。
<?php include 'views/headerHTML.php'; ?>
<?php include 'views/headerNav.php'; ?>
<div id="main">
<!--content-->
</div><!--main-->
<?php include 'views/footer.php'; ?>
これで、CSS呼び出し行がJSまたはトラッキングスニペットとともにheaderHTMLに配置されました。
Webページが複数のフォルダ内にある場合-インクルードはルートファイルに対して変更する必要があります
<?php include '../../views/headerHTML.php; ?>
ただし、そのインクルード内のCSSおよびJS参照は、ROOTを基準にして記述されているため、正しくなくなります。
<link type="text/css" rel="stylesheet" href="css/test.css" />
私はローカルにWAMPを使用しており、すべてのプロジェクトは複数のプロバイダー(GD、fatcowなど)を備えた共有仮想サーバーに基づいており、それらはすべて独自の奇抜なルート参照などを持っています。
私は次のようなソリューションを使用しようとしました
$_SERVER['DOCUMENT_ROOT']
define('ROOT', dirname(__FILE__));
しかし、ローカルサーバーと仮想サーバーでそれらを機能させることができないようです。私が欲しいのは、私のWebページがフォルダー階層内の深さに関係なく、それぞれのフォルダーにあるコードスニペットまたはutilsを参照するヘッダー、nav、フッター内の参照が適切に呼び出されることです。
私がやっていることは、その中の参照が機能するように変更された特定のインクルードを設定することです:
<?php include '../../views/headerHTML_DoubleFolder.php; ?>
これは、2つのフォルダーの深さのページを対象としています。
私はそれがおそらく私ができる最悪のことであり、そもそもインクルードを行う目的を否定していると100%確信しています
誰かが私をばかにして、何か新しいことを教えてください= D!
それは有り難いです。
編集 - - - - - - - -
問題の例=
localhost / site / login / login.phpの呼び出し:
<?php include '../views/headerHTML.php'; ?>
そして、そのheaderHTML.phpファイル内には次のものがあります。
<link type="text/css" rel="stylesheet" href="css/style_v0313.css" />
ご覧のとおり、login.phpがheaderHTMLを介して呼び出した場合、cssの場所は正しくありません。
/または./またはdirname(FILE)をcss hrefに追加しても、login.phpにアクセスしたときにスタイルシートが読み込まれません