4

我是codeigniter的新手。我制作了一个简单的控制器来加载三个视图:页眉、正文和页脚。我的标题包含指向几个具有相对路径的 javascript 和 CSS 的链接。我将所有 css 和 js 相对于文件保存在 views 文件夹中。

问题是控制器正确加载了所有内容,但没有加载图像、js 和 css。

这是我的观点的层次结构:

CSS(视图中的子目录) JS(视图中的子目录)

header(页眉视图文件) body(正文视图文件) footer(页脚视图文件)

有什么想法吗?

4

4 回答 4

6

将所有内容都放在视图文件中并不是一个好主意,因为这些文件夹应该清理东西,将它们放在视图中会使它们再次变得混乱。

假设这是您的目录:

本地主机

  • 应用
    • 控制器
    • 意见
    • ETC..
  • 系统
  • 资产
    • 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

您需要将文件放在基本目录中,例如包含应用程序和系统文件夹的目录。

尝试使用名为assets 的文件夹。

还要确保您使用的是前导斜杠,例如

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 回答