我的管理控制器中有一个名为“login”的函数,它使用application / views / admin /中的“login.php”视图。我在此文件的顶部和底部包含'header.php'和'footer.php'视图,如下所示:
<?php include ('/application/views/layout/header.php'); ?>
页眉和页脚在我的所有其他视图中都正确包含,但是当包含在“login.php”视图中时,找不到资产文件。这是我的'header.php'视图:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="./application/assets/bootstrap/css/bootstrap.min.css" >
<link rel="stylesheet" type="text/css" href="./application/assets/style.css" >
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="./application/assets/bootstrap/js/bootstrap.min.js" ></script>
<title><?php echo $page_title; ?></title>
</head>
<body>
<div class="container-fluid text-center">
<div class="row">
<div class="span12">
<img src="./application/assets/signature.jpg" class="img-responsive center-block" style="margin-top: 20px;">
</div>
</div>
</div>
以下是我的应用程序的文件结构:
application
-+assets
---+css
------style.css
-+controllers
----admin.php
----page.php
-+views
---+layout
------header.php
------footer.php
---+admin
------home.php
------login.php
----home.php
我用firebug尝试解决问题,控制台给我一个404错误。它将控制器名称'Admin'添加到css文件的文件路径中,原因如下所示,以及我的.js文件和图像:
/ MY_PROJECT /管理/应用/资产
关于为什么会这样做的任何想法?我在.htaccess文件中的项目上使用了mod_rewrite。
答案 0 :(得分:1)
对于包含页眉和页脚,我认为这个答案更好: adding header and footer codeigniter to controller ... 并且为了引用CSS和JS文件使用CodeIgniter URL帮助器。您必须加载帮助程序并使用此帮助程序: https://ellislab.com/codeigniter/user-guide/helpers/url_helper.html。 在config.php文件中配置base_url()。然后链接到您的CSS和JS,就像这个答案: Code Igniter simple base url css
答案 1 :(得分:1)
如果您使用Codeigniter框架,我建议使用标准函数加载视图,而不是 include()函数。
例如,Codeigniter支持函数查看()以在网页上加载HTML代码。
调用函数如:
$this->load->view(template);
在您的情况下,您需要将下一个代码放在您希望加载标题模板的控制器文件login.php中。看起来像:
$this->load->view("layout/header.php");
另外,不要使用incude();写得更好:include_once(); 如果您将继续使用继承类,则会遇到问题。 阅读更多相关信息:enter link description here