【问题标题】:Loading CSS, JS in CodeIgniter在 CodeIgniter 中加载 CSS、JS
【发布时间】:2016-03-14 08:02:04
【问题描述】:

我是 CodeIgniter 的新手。不知何故,我设置了开发环境并准备好了。但是将 CSS、JS 加载到页面中似乎更加混乱。在搬家之前,我搜索了很多,但 base_url 解决方案没有帮助。

部分视图:

<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/jquery-ui-1.8.21.custom.css" rel="stylesheet">
<link href='css/fullcalendar.css' rel='stylesheet'>
<link href='css/fullcalendar.print.css' rel='stylesheet'  media='print'>
<link href='css/opa-icons.css' rel='stylesheet'>
<link href='css/uploadify.css' rel='stylesheet'>

控制器:

public function dashboard()
    {
        $this->load->helper('url');
        $this->load->view('templates/css_styles');
        $this->load->view('templates/top_bar');
        $this->load->view('templates/left_menu');
        $this->load->view('pages/dashboard');
        $this->load->view('templates/footer');
        $this->load->view('templates/js_end');
    }
public function index()
    {
        $this->load->helper(array('form'));
        $this->load->view('login');
    }

route.php:

$route['default_controller'] = "welcome/dashboard";
$route['404_override'] = '';
$route['dashboard'] = 'welcome/dashboard';

如果我将仪表板方法作为默认控制器,则页面加载正常。但是当我将其更改为仅欢迎时,这是一个登录表单并重定向到welcome/dashboard,该页面不会加载任何 CSS。只是所有的 HTML 文本。仪表板页面只是纯 HTML,还没有编写 PHP 代码。

请帮我看看是什么原因造成的。

【问题讨论】:

  • 这可能会有帮助,请看这个答案:stackoverflow.com/a/5450122/1913769
  • 这实际上只是一个关于对任何网页如何使用相对和绝对 URL 缺乏基本理解的问题。与 CodeIgniter 关系不大。
  • #Sparky - 我正在使用 Spring+Hibernate,我们只是将 css,s 文件放在 webapp 根目录上,然后调用它们。但是当我这样做时,登录页面可以正常工作,但是一旦我登录,我就会重定向到仪表板,这就是问题所在。
  • 我尝试了所有解决方案,我发现将 base_url 放在页面中要好得多。我想要的解决方案是,当我们在春季将 css、js 放置在 Web 内容中时,我们只需简单地放入“css/filename.css”,它就会加载,我期待类似的东西。无论如何感谢您的所有帮助

标签: php codeigniter


【解决方案1】:

base_url() 有什么问题?

<link href="<?php echo base_url('css/bootstrap-responsive.css')?>" rel="stylesheet">

确保加载 URL 帮助程序,我建议自动加载它:转到 application/config/autoload.php 并将其添加到帮助程序数组中:

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

【讨论】:

    【解决方案2】:

    您可以使用 html_helper.php 中的 link_tag() 来帮助获取正确的路径。

    首先加载助手(我通常自动加载)

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

    然后你可以像这样引用css:

    echo link_tag('css/bootstrap-responsive.css');
    

    优点是该函数会尝试为 css 文件构建正确的绝对 URL,它会自动将 rel 属性设置为样式表,将 type 属性设置为 text/css。

    您还应该拥有适用于 Firefox 的 Chrome、Safari 或 Firebug,以便您可以检查代码并查看 CSS 文件是否正在加载或是否找不到。这将有助于调试。

    【讨论】:

    • 这会节省一些时间
    【解决方案3】:

    确保您的 css 文件夹之前有一个前导斜杠:

        <link href="/css/bootstrap-responsive.css" rel="stylesheet">
    

    并确保文件确实位于 Web 根目录下的 /css 中,而不是在应用程序文件夹中。

    【讨论】:

      【解决方案4】:

      首先你需要加载帮助网址

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

      然后在控制器上

      $this->data =site_url()."your css file";
      

      那么在你看来

      <link rel="stylesheet" type="text/css" href="<?php echo $css; ?>"> 
      

      很简单。你可以查看完整的article load css/js

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-12
        • 1970-01-01
        • 1970-01-01
        • 2020-02-11
        • 1970-01-01
        • 2012-07-13
        • 1970-01-01
        • 2010-11-06
        相关资源
        最近更新 更多