0

インデックスページがすべてのリクエストのルートである状況。そして、URLに基​​づいて異なるページが提供されます。

今のところ、CSSファイルには提供されるページと同じ名前を使用しています。

しかし、ページのグループに同じCSSを使用したい場合、またはページに特別なCSSを使用したくない場合は、これは失敗します。一般的なCSSで十分です。

また、配列は解決策を提案しますが、サイトページが増えると管理できないようです

4

2 に答える 2

3

LUT が最速の方法ですが、アプリを真剣に再構築する必要があると思います。

とにかく、インデックスページには、ロードするページを示す変数 $pageName があります。このようなことができます。

$myPages = array(
   "somePage" => array("style_base.css", "custom_style1.css"),
   "otherPage" => array("style_base.css", "awesome_style.css")
   // more pages here
);

foreach( $myPages[$pageName] as $pageStyleSheet ) {
    echo '<link href="' . $pageStyleSheet . '" rel="stylesheet" type="text/css">' . PHP_EOL;
}

これは非常にハックであり、私があなたのアプリを維持する必要がある場合は、おそらくあなたを殺したいと思うでしょう。しかし、あなたが説明したアーキテクチャに基づく最速の方法です。

アップデート

別のアイデアですが、ページ名に基づいてすべてのページのスタイルシートを保持し、再利用するシートに @include を使用する場合。したがって、somePage.cssの場合は、

@include('otherPage.css')

そうすれば、ページ名を引き続き反映しながら、スタイルを再利用できます。

于 2012-09-21T22:15:43.357 に答える
1

@Champ-Webサイト全体でCSSファイルを使用できます-クラスなどを使用します。これらのファイルは、画像と比較して非常に小さいです。私たちはASCIIと数十キロバイト(最大で)を話している-そしてそれはキャッシュすることができる!

編集

PHPの代わりにその余分なサーバー負荷を使用して、より良いもののためのCSSのものを決定します

于 2012-09-21T22:21:00.023 に答える