0

私は、構築中のサイトに header.php および footer.php ファイルをインクルードするためのさまざまな方法を試してきました。

サイトの個々のページに必要ないくつかの .css および .js ファイルを参照する最も効率的な場所はどこなのか、よくわかりません。含まれるページを次のように設定しました (これらは、構造を強調するために最小限に簡略化されています)。

header.php:

<html>
    <head>
        <title>Example Page 1</title>
    <link rel="stylesheet" type="text/css" href="menu_styles.css"/>
    <script type="text/javascript" src="main_menu.js"></script>
    </head>
<body>
<!------MENU CODE HERE------>

任意のページ .php が続きます。

<?php
include 'header.php'
?>

<div>Page Content 1</div>
<div>Page Content 2</div>

<?php include 'footer.php' ?>

最も単純な形式の footer.php は次のとおりです。

</body>
</html>

ヘッダーで menu_styles.css と main_menu.js を参照するロジックを確認できます。これは、メニュー コードが常に書き込まれる場所だからです。ただし、たとえば、独自の必要な js/css ファイルを含む画像スクローラーを含む個々のページがある場合、これらを定義する最も効率的な方法はどこですか? メインページ自体でそれを行うことはできますか、それとも、header.php 内ですべての .css および .js を定義する必要がありますか? これは長いリストを生成し、多くのページがこれらのファイルへのリンクを定義する必要がないため、非効率的と思われます。

4

4 に答える 4

2

私は次のことをします:

  1. すべての CSS ファイルを含むグローバル変数と、すべての Javascript ファイル用の別のグローバル変数を作成します。
  2. 「何でもphpファイル」で、最初にグローバル変数を変更して、適切なCSSファイルとJSファイルを含めます。
  3. requireorを呼び出しincludeてヘッダーを挿入します。これにより、グローバル変数に基づいて CSS ファイルが追加されます。
  4. 「whatever php」ファイルで必要なことは何でも行います
  5. includeまたはrequire、グローバル変数に基づいてすべての JS ファイルを挿入するフッター ファイル (ページ読み込みの遅延を防ぐために、ドキュメントの最後に JS ファイルを含めることをお勧めします)
于 2013-04-09T15:34:08.423 に答える
2

必要なすべての css または JS の src を配列 (PHP 変数) に追加できます。次に、ページの最後 (本文を閉じる前) に and タグを追加します。

<?php
include 'header.php';
$css = array();
$js = array();
?>

<div>Page Content 1</div>
<div>Page Content 2</div>
// content and content imports may add sources to css and js arrays

// where footer.php prints <script> and <link> tags, importing needed css and js
<?php include 'footer.php' ?>
</body>
</html>
于 2013-04-09T15:25:56.340 に答える
0

ヘッダ:

<html>
    <head>
        <title>Example Page 1</title>
        <?php
        if ($css_inc != NULL) {
            foreach ($css_inc as $value) {
                echo '<link type="text/css" href="' . $value . '"></link>';
            }
        }
        if ($js_inc != NULL) {
            foreach ($js_inc as $value) {
                echo '<script type="text/javascript" src="' . $value . '"></script>';
            }
        }
        ?>
    </head>
    <body>
    <!------MENU CODE HERE------>

page.php

<?php
   $css_inc = array('style.css', '\public\css\gallery.css');
   $js_inc = array('public.js', '\public\js\jquery.js', '\public\js\jqueryui.js');
   include 'header.php'
?>

<div>Page Content 1</div>
<div>Page Content 2</div>

<?php include 'footer.php' ?>
于 2013-04-09T15:56:12.630 に答える
0

画像スクローラーを含むページに別のヘッダー テンプレートを使用し、そのヘッダーに画像スクローラー css を含めるだけです。

ページのどこにでも Javascript ファイルを含めることができます。実際には、HTML コンテンツの後に読み込まれるため、コンテンツの読み込みを遅らせないように、ページの下部に含める方がよいと考える人もいます。ただし、CSS ファイルは常に head タグ内に含める必要があると思います。

于 2013-04-09T15:28:56.757 に答える