-1

Web サイトの IA (情報アーキテクチャ) の作業を終えたところです。私の IA によると、ルート フォルダーとルートにフォルダーとファイルを作成しました。これは、それがマップされている方法です。「root」というルート フォルダーがあり、ルート フォルダーには「index.php」ファイルと「style.css」ファイルがあります。ルート フォルダーには、「docs」、「images」、「nav」の 3 つのディレクターがあります。nav 内には、ナビゲーション バーのすべてのリンクをコーディングするファイルがあります。

                                    Root
                        /     |      |       |       \
                     docs  images   nav   index.php  style.css      
                                     |
        About Reports Documents Checklists LicenseTools Presentations SWRelease

インデックス ページにテンプレートを作成し、作成するすべてのページで同じテンプレートを使用する予定です。行を追加するので、About ページとしましょう。style.css ファイルと About.php ファイルが同じフォルダにないので、リンクするにはどうすればよいですか? または、コードがルート フォルダーのどこにあるかに関係なく、コードは自動的に検索を試みますか?

4

3 に答える 3

2

個人的には、すべてのファイルをルート ディレクトリの nav ディレクトリに保存しますが、それは私の好みです。入力する必要があるものは次のとおりです。

<link type="text/css" rel="stylesheet" href="/style.css">

の先頭のスラッシュに注意してください/style.css。これは、参照が絶対的、つまり Web サイトのルートに対して相対的であることを示します。これは、ファイル階層のどこにあるかに関係なく、サイト上のすべての HTML または PHP ファイルで機能します。

于 2013-07-25T20:41:35.030 に答える
2

<link> タグのhref属性で絶対パスを使用することを妨げるものはなく、そのようなパスはドキュメント ルートから解決されます。したがって

<link rel="stylesheet" type="text/css" href="/style.css" />

<link> タグが表示されるページに関係なく、スタイルシート ファイルに正しく解決されます。

于 2013-07-25T20:41:55.850 に答える
1

コメントごとに更新:

最良のアプローチは、Aaron Miller が答えたとおりです。

<link rel="stylesheet" href="/style.css">

style.cssこれは、ルート ディレクトリにロードするように解決されます。

ただし、サイトに 1 つのスタイルシート (またはスタイルシートの静的セット) をロードしている場合は、常に静的テンプレートからスタイルシートを呼び出すことをお勧めします。可能であれば、コードの重複を避けることをお勧めします。

したがって、あなたの場合、あなたのアイテム<head>が決して変更されない場合は、それらすべてのアイテムをファイルに含めることをお勧めしheader.phpます。そうすれば、何かを追加する必要がある場合<head>(たとえば、2 番目のスタイルシートを追加する場合)、すべてのテンプレートではなく、1 つのファイルのコードを変更するだけで済みます。

require_oncePHP のようなものを使用して、ヘッダー ファイルを含めることができます。

<?php require_once 'path/to/header.php'; ?>
于 2013-07-25T20:41:40.257 に答える