我是codeigniter的新手,我正在使用v.2.12。我尝试从外部文件加载css时收到错误。
我在应用程序文件夹中创建了css文件夹。我以all.css的名义创建了css文件。
在视图文件中,我使用以下代码链接css文件。
<link rel="stylesheet" type="text/css" href="<? echo base_url();?>css/all.css">
但是css文件没有加载。我收到404错误。这是我的配置设置:
$config['base_url'] = 'http://webscarlets.com/ci/index.php';
$config['index_page'] = 'index.php';
答案 0 :(得分:32)
这是您在CodeIgniter中包含CSS文件的方式:
<?php echo link_tag('css/mystyles.css'); ?>
该代码段将输出此HTML:
<link href="http://site.com/css/mystyles.css" rel="stylesheet" type="text/css" />
The function link_tag
is in the HTML helper,必须先加载。
(请注意,您可能不应将CSS文件放在/application/css
中。将它们放在/css
或/assets/css
中会更容易。)
答案 1 :(得分:10)
函数 base_url()应返回基本路径(不带index.php)
您可以通过添加反斜杠来修复它:
<link rel="stylesheet" type="text/css" href="<? echo base_url();?>/css/all.css">
或从配置中删除index.php:
$config['base_url'] = 'http://webscarlets.com/ci/';
答案 2 :(得分:3)
我只是找到了避免index.php文件并加载我们的CSS文件的解决方案。 只需将以下代码复制到.htaccess文件中:
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|styles|scripts|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
问候!
答案 3 :(得分:3)
在控制器操作/application/controllers/yourController.php
中添加以下行$this->load->helper('url');
然后在视图文件的head标签中添加以下行。
<link rel="stylesheet" type="text/css" href="<? echo base_url('assets/css/yourcssfile.css');?>" />
假设您在app目录中创建了assets / css / folder。
<path to your app folder>/assets/css
答案 4 :(得分:2)
在使用base_url()
之前,您必须加载URL帮助程序类。
控制器中的$this->load->helper('url');
base_url()
给你回路的路径
'http://webscarlets.com/'
如果您直接在根目录中设置它或'http://webscarlets.com/dir/'
并确保CSS文件的位置。
点击该链接,了解有关URL Helper
的更多信息答案 5 :(得分:2)
另一种方式是
在constants.php中定义一个常量(在config目录中)
define("LAYOUT_URL","http://localhost/yoursite/css/");
“css”文件夹在这里我假设是在应用程序文件夹中。你可以在页面中附加css,如
<link rel="stylesheet" type="text/css" href="<?php echo LAYOUT_URL;?>all.css">
答案 6 :(得分:2)
作为 Jogesh_p 。
您使用 base_url ,如下所示 放入控制器(你的控制器)
$this->load->helper('url');
控制器中的。 如果你想使用
如下 放在你想要的地方使用base_url。
echo base_url()
注意:最好在root用户创建新文件夹
(例如:主题) 相同:应用程序,系统,user_guide,主题)
我希望你能做到
答案 7 :(得分:2)
要附加CSS,JS,Images .etc,您只需转到 config 文件夹并写入 constant.php 文件的末尾。
define('URL','ADD YOUR LOCAL/REMOTE PATH');
define('CSS',URL.'public/css/');
define('IMAGES',URL.'public/images/');
define('JS',URL.'public/images/');
之后转到你的观点并在链接中添加
<link rel="stylesheet" type="text/css" href="<?php echo CSS; ?>index.css">
这将解决您的问题。
希望它有所帮助。
答案 8 :(得分:2)
按如下方式编辑autoload.php
$autoload['helper'] = array('url');
然后加载css,js,像这样的图像
img src="<?php echo base_url(); ?>assets/images/master.jpg"</img>
答案 9 :(得分:1)
//config.php
$config['base_url'] = 'http://webscarlets.com/ci/';
$config['index_page'] = 'index.php';
并尝试通过添加应用程序文件夹
来加载css
<link rel="stylesheet" type="text/css" href="<? echo base_url();?>application /css/all.css">
修改强>
下面
base_url()
回声'http://webscarlets.com/ci/'
然后添加包含路径application /css/all.css
答案 10 :(得分:1)
在控制器功能中包含$this->load->helper('html');
。
在视图文件中使用linktag
关键字,如下所示:
<html>
<head>
<title></title>
<?php echo link_tag('resources/style.css');?>
</head>
<body>
<?php
....
?>
</body>
这里的资源是包含style.css文件的文件夹。