【问题标题】:bootstrap isn't working with CodeIgniter引导程序不适用于 CodeIgniter
【发布时间】:2017-04-12 13:09:55
【问题描述】:

我写了一个简单的视图来在 codeignitor 中使用 bootstrap css。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Voyager</title>
        <link rel="stylesheet" href="<?php echo base_url("styles/bootstrap/css/bootstrap.css"); ?>" />
</head>
<body>

                <div class="panel panel-heading">
                    This is Heading
                </div>
                <input type="submit" class="btn btn-primary">

    <p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo  (ENVIRONMENT === 'development') ?  'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></p>
        <script type="text/javascript" src="<?php echo base_url("styles/bootstrap/js/jquery-3.2.1.min.js"); ?>"></script>
        <script type="text/javascript" src="<?php echo base_url("styles/bootstrap/js/bootstrap.js"); ?>"></script>

</body>
</html>.

Bootstrap 目录复制到项目根目录中。

这是我为集成而关注的链接。

http://www.kodingmadesimple.com/2014/06/integrate-twitter-bootstrap3-with-codeigniter-framework.html

在运行应用程序时出现以下错误。

A PHP Error was encountered

Severity: Error

Message: Call to undefined function base_url()

Filename: views/view_login.php

Line Number: 10

Backtrace:

注意:如果我删除引导链接,页面会呈现没有样式。

这是 autoload.php 的内容。

我已排除此文件中的注释部分。 正如你所说,我对助手部分进行了更改。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$autoload['packages'] = array();

$autoload['libraries'] = array();

$autoload['drivers'] = array();


$autoload['helper'] = array('url');

$autoload['config'] = array();

$autoload['language'] = array();

$autoload['model'] = array();

在此更改后,我得到的新错误是:

无法加载请求的文件:helpers/view_login_helper.php

【问题讨论】:

  • 如果你删除 base_url(),一切正常。 Bootstrap 与它无关。你加载了 url helper 了吗?
  • 你需要加载urlhelper
  • 我是 CodeIgniter 的新手。你能帮我看看我该怎么做吗?

标签: php css twitter-bootstrap codeigniter


【解决方案1】:

转到您的 config/autoload.php,然后在 helpers 数组中执行以下操作:

$autoload['helper'] = array('url');

这应该可以解决问题。

额外建议:通常没有必要保护视图不被直接访问。那主要是为了你的课。但如果你愿意,你仍然可以。

【讨论】:

  • $autoload['helper'] = array('view_login');它是否正确? view_login 是我的观点
  • 不不,只写url。您不必在那里放置任何实际的网址。它的作用是激活base_url() 功能,这将帮助您加载文件。
  • 现在我收到错误:无法加载请求的文件:helpers/view_login_helper.php
  • 那是因为你还有这个:$autoload['helper'] = array('view_login');。将其更改为 $autoload['helper'] = array('url'); 即可。
  • 没有。它不是。我已经删除了
【解决方案2】:

在 application\config\autoload.php 中添加 url 在辅助数组中

【讨论】:

    【解决方案3】:

    或者你必须在控制器中加载它

    尝试打开你的控制器并加载视图

    $this->load->view('name of the view');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多