【问题标题】:My (header,footer) and js,css,image,favicon load only in index method not in other in codeigniter我的 (header,footer) 和 js,css,image,favicon 仅在 index 方法中加载,而不在 codeigniter 中的其他方法中加载
【发布时间】:2016-09-28 04:51:23
【问题描述】:

我不熟悉代码点火器并将引导模板与代码点火器集成。我已经在模板中创建了几个页面并尝试将其与 CI 集成。

我的 css 和 js 结构如下:

application
assets
         css/style.css
         js/min.js
         img/imagename.jpg

我的控制器文件如下

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

class Welcome extends CI_Controller {

    public function index()
    {
        $this->load->helper('url');
        $this->load->view('templates/header');
        $this->load->view('home');
        $this->load->view('templates/footer');
    }
    public function services()
    {
        $this->load->helper('url');
        $this->load->helper('html');

        $this->load->view('templates/header');
        $this->load->view('services');
        $this->load->view('templates/footer');
    }
}

根据我的理解,我需要为不同的页面创建不同的方法,以便将其放在页眉和页脚中。如果我在这里错了,请告诉我。

我在 view 中创建了一个名为 templates 的文件夹,并将创建 header.phpfooter.php 并将页眉和页脚代码放在特定文件中。

我的 .htaccess 文件如下

RewriteEngine on
RewriteCond $1 !^(index\.php|assets|images|js|css|uploads|favicon.png)
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.*)$ ./index.php/$1 [L]

我在 view 文件夹中创建了一个名为 home 的视图,并将 html 代码和所有 js 和 css 包含在此处,例如:

<link rel="stylesheet" type="text/css" media="all" href="assets/css/reset.css" />

而且效果很好。

但是当我创建另一个视图作为服务并将cssjs 与我的服务视图相同时,我无法从header.php footer.php 获取数据,也无法加载cssjs 或图片。

比我使用的 url helper 如下所示:

<script src='<?php echo $this->base_url();?>assets/js/jquery.colorbox-min.js'></script>

它会加载 js 文件和 css 文件,但无法获得正确的视图。 headerfooter 文件仍然没有加载到 service 视图中。那么我可以从代码点火专家那里获得任何帮助吗?

【问题讨论】:

  • 将 index.php 放在资产之前
  • @AbhijitJagtap 是用于 css 和 js 的吗??
  • 但是为什么我的 heder 和 footer 没有加载我没有得到。
  • 只需从 .htaccess 中删除所有规则,然后尝试它是否有效?
  • 把你的文件夹结构放在这里。在 ci 中应该是视图而不是视图,所以检查它是否正确的名称

标签: php codeigniter


【解决方案1】:

这是导致错误,查看文件加载看起来没问题。改变这个。

<script src='<?php echo $this->base_url();?>assets/js/jquery.colorbox-min.js'></script>

如下并尝试

<script src='<?php echo base_url('assets/js/jquery.colorbox-min.js');?>'></script>

确保您已将 config.php 中的 base_url 设置为 http://localhost/project_name/

如果您在加载视图文件时仍然遇到任何错误,请在此处发布您的错误详细信息

【讨论】:

  • 感谢您的回答。但是我的 js 和 css 文件都加载了上面的代码。但页眉和页脚无法使用服务方法加载。我无法理解
  • 当我运行localhost/cinew1/welcome/services 时,它会显示服务视图中的内容。并赋予css和js的效果。但我无法加载我的footer.php 和header.php 中的内容,而且我也不知道如何将base_url 用于图像,所以图像也不会加载到其中。
【解决方案2】:
        RewriteEngine on 
    RewriteCond $1 !^(index\.php|resources|robots\.txt)
 RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
    RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]

【讨论】:

  • 我使用 wamp 服务器
  • 很好地点击任务栏中的 wamp 图标 >apache>apache 模块>(向下滚动并选择)重写模块重启 wampp 服务
  • 工作了吗?一个很好的技巧是使用自动加载文件来加载帮助程序/库,如果你要在你的应用程序中使用它可以节省你的空间和一次又一次复制粘贴它的麻烦......除非你知道如何使用 __constructs()
  • 我已经这样做了。但我的问题是为什么我的图像、页眉、页脚没有加载到服务视图中。??
  • base_url() 设置?在配置文件中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多