4

私はコードイグナイターが初めてです。ヘッダー、ボディ、フッターの 3 つのビューをロードする単純なコントローラーを作成しました。私のヘッダーには、相対パスを持ついくつかの JavaScript と CSS へのリンクが含まれています。すべての css と js をファイルに相対的なビュー フォルダーに保存しました。

問題は、コントローラーがすべてを適切にロードすることですが、画像、js、および css がロードされないことです。

これは私のビューの階層です:

CSS(ビューのサブディレクトリ) JS(ビューのサブディレクトリ)

header (ヘッダー ビュー ファイル) body (ボディ ビュー ファイル) footer (フッター ビュー ファイル)

アイデアはありますか?

4

4 に答える 4

6

すべてをビュー ファイルに入れるのは良い考えではありません。これらのフォルダーは物事をクリーンアップするはずであり、それらをビューに置くと再び乱雑になるからです。

これがあなたのディレクトリであると仮定します:

ローカルホスト

  • 応用
    • コントローラー
    • ビュー
    • 等..
  • システム
  • 資産
    • Javascript
    • CSS

JavaScript を含める場合、パスは次のようになります。

localhost/Assets/Javascripts/your_script.js

そして明らかにCSSはそうなるでしょう

localhost/Assets/CSS/your_stylesheet.css

実装がどこでも機能することを確認するには、

<script src="<?=base_url('path/to/your/js/foo.js')>" type="text/javascript"></script>

最も安全な方法です

于 2012-04-20T23:16:31.437 に答える
4

アプリケーションとシステム フォルダを含むベース ディレクトリなどにファイルを配置する必要があります。

assests というフォルダーを使用してみてください。

また、先頭にスラッシュを使用していることを確認してください。

href="/assets/css/style.css"

これはベースURIからロードされることに注意してください

例: example.local/assets/css/style.css

于 2012-04-19T12:53:23.190 に答える
2

js/images/css ファイルをビュー フォルダーに保持しないことをお勧めします。

こちらの過去問を参考にしてください。 Codeigniter のどこに画像ファイル、css、js などを置くのですか?

あなたの質問に答えると、デールが言った通りです。

まず、.htaccess を確認し、ベース ディレクトリがどこにあるかを確認する必要があります。

次に、js/css フォルダーに適切なパス リンクを指定する必要があります。それらをビューフォルダーに保存した場合、このURLを実行する必要があるようです

http://localhost/codeigniter/index.php/application/views/css/text.css

私が間違っていなければ、あなたは現在

"http://localhost/codeigniter/index.php/admin"

css ファイルを読み込もうとしています。href="something" を使用すると、現在の URL に追加されるだけです。これは、「http://localhost/codeigniter/index.php/admin/something」を提供しますが、これは IMO が探しているものではありません。

于 2012-04-19T11:53:51.797 に答える
0

cssファイルにリンクする最良の方法は次のとおりです

echo link_tag('css/reset.css');

リンクタグは / を使用していませんが、以下の hs ファイルは使用しています。

css と js はルート ディレクトリにある必要があります。

JS ファイル

<script defer src="/media/javascripts/scrips.js"></script>

根元にも。もちろん、ディレクトリは異なります

同じビュー ディレクトリにある css ファイルにリンクすることはできません

http://codeigniter.com/user_guide/helpers/html_helper.html

于 2012-04-19T22:18:28.077 に答える