0

我正在尝试学习 Codeigniter。我按照 CI 网站上的教程构建了一个简单的 MVC。这是我的控制器...

<?php

class Pages extends CI_Controller {

    public function view($page = 'home'){

        if(!file_exists(APPPATH.'/views/pages/'.$page.'.php')){
            show_404();
        }

        $data['title'] = ucfirst($page);

        $this->load->view('templates/header', $data);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer', $data);
    }
}

这是标题模板...

<html>
<head>
    <title><?php echo $title ?> - WurkWithUs</title>
    <link rel="stylesheet" href="http://localhost/ci/CodeIgniter_2.1.2/css/bootstrap.css" type="text/css" media="screen"/>
    <link rel="stylesheet" href="http://localhost/ci/CodeIgniter_2.1.2/css/custom.css" type="text/css" media="screen"/>
</head>
<body>
    <h1>Wurk With Us</h1>

当我使用像上面这样的绝对路径时,样式表可以工作。但是,如果我尝试使用类似...

<link rel="stylesheet" href="<?= base_url()?>css/bootstrap.css" type="text/css" media="screen"/>

我得到一个空白页。当我“查看页面源代码”时,我的样式线看起来像......

    <link rel="stylesheet" href="

我试图按照这里的建议,我得到了相同的结果,即文档停止在“href=”行被解析。

我究竟做错了什么?有没有更好的方法来加载我的样式表?

4

4 回答 4

7

这个问题我遇到过很多很多次。我敢打赌你没有在URL 助手中加载。它不会自动加载,因此要么将其加载到您的控制器中,要么自动加载它。

如果您选择在控制器中引导它,请致电

$this->load->helper('url');

在加载视图之前。

您在源代码中看到href空白的原因是因为当时有一个 PHP 错误(它找不到方法base_url()

于 2012-09-23T06:27:38.477 回答
1

试试这个:

<?php base_url("css/bootstrap.css"); ?>

谢谢

于 2012-09-23T06:13:45.500 回答
1

在你的控制器中试试这个

$this->load->helper('html');

这在头标签中

<?=link_tag('css/style.css')?>
于 2013-09-22T09:50:08.007 回答
0

我认为您需要加载“url”帮助程序。在 autoload.php 中加载你的助手

Like that way :: $autoload['helper'] = array('url');

这将每次自动加载您的助手。因此,您无需在每个控制器中一次又一次地加载它。

或者

如果您想为特定控制器加载此帮助程序,请在您的控制器调用中加载帮助程序

Like that way :: $this->load->helper('url');
于 2015-03-04T07:38:09.207 回答