我几乎为我的代码点火器完成了主题系统。
遇到样式表问题时出现错误403本地主机。
它正在我的另一个上运行,但是我的新版本无法使用
每个主题都有其样式表文件夹和Java脚本。大多数人说这样做是错误的,但是。这种方式对于主题系统来说更好。
主题/默认
主题/默认/样式表/stylesheet.css
theme / default / javascript / common.js
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta name="keywords" content="" />
<title><?php echo $this->config->item('title'); ?></title>
<base href="<?php echo base_url(); ?>">
<link rel="stylesheet" type="text/css" href="application/views/theme/default/stylesheets/stylesheet.css" media="screen">
</head>
theme / codeigniter
theme / codeigniter / stylesheets / stylesheet.css
theme / codeigniter / javascript / common.js
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta name="keywords" content="" />
<title><?php echo $this->config->item('title'); ?></title>
<base href="<?php echo base_url(); ?>" >
<link rel="stylesheet" type="text/css" href="application/views/theme/codeigniter/stylesheets/stylesheet.css" media="screen" >
</head>
我认为Code Ignitor将撤消应用程序文件夹内的直接访问。因此,我将所有图像,CSS和JS以及应用程序,系统和用户指南全部放入CI ROOT FOLDER中的一个名为asset的文件夹中。
现在,在utility_helper.php
中创建一个名为ROOT_FOLDER/application/helper
的文件并添加以下代码
<?php
function asset_url(){
return base_url().'assets/';
}
?>
然后在第67行的application/config/autoload.php
中添加实用程序
$autoload['helper'] = array('utility');
现在,当您要访问资产文件夹时,可以将其称为
<link rel="stylesheet" type="text/css" href="<?php echo asset_url();?>stylesheets/stylesheet.css" />
<link rel="stylesheet" type="text/css" media="all" href=<?php echo
base_url()."application/views/theme/codeigniter/stylesheets/stylesheet.css"?> />
我花了几个小时遇到这个问题,但是以不同的方式解决了它。可以看到,我刚刚在应用程序文件夹之外创建了一个资产文件夹。最后,我将样式表链接到页面标题部分。文件夹结构在图像下方。
在执行此操作之前,您应该在控制器类方法/ __ constructor文件中或在autoload.php文件中包含url帮助文件。还要在以下文件application / config / config.php
中更改$config['base_url'] = 'http://yoursiteurl';
如果将其包含在控制器类方法/ __ constructor中,则它看起来像
public function __construct()
{
$this->load->helper('url');
}
或如果您加载自动加载文件,则看起来像
$autoload['helper'] = array('url');
最后,添加样式表文件。您可以通过不同的方式链接样式表,将其包含在内部部分
-> <link rel="stylesheet" href="<?php echo base_url();?>assets/css/style.css" type="text/css" />
->或
<?php
$main = array(
'href' => 'assets/css/style.css',
'rel' => 'stylesheet',
'type' => 'text/css',
'title' => 'main stylesheet',
'media' => 'all',
'index_page' => true
);
echo link_tag($main); ?>
->或
最后,我得到了更可靠的代码清理器概念。只需在application / config / styles.php文件夹中创建一个名为styles.php的配置文件。然后在styles.php文件中添加一些链接,如下所示:>
<?php $config['style'] = array( 'main' => array( 'href' => 'assets/css/style.css', 'rel' => 'stylesheet', 'type' => 'text/css', 'title' => 'main stylesheet', 'media' => 'all', 'index_page' => true ) ); ?>
调用/将此配置添加到控制器类方法如下
$this->config->load('styles'); $data['style'] = $this->config->config['style'];
在标题模板中传递此数据如下所示。
$this->load->view('templates/header', $data);
最后添加或链接您的css文件,如下所示。
<?php echo link_tag($style['main']); ?>