如何在 codeigniter 4 中加载 css 或 js 文件?
How can I load css or js file in codeigniter 4?
当我尝试加载 css 或 javascript 文件时,出现 returns 404 错误。
我尝试使用助手,例如 HTML 助手的 link_tag、URL 助手的 base_url 方法,它会创建一个到文件的路径,但不会可加载。
这是我的控制器:
class Pages extends Controller{
public function viewPage($page)
{
if(!is_file(APPPATH."/views/pages/$page.php")){
throw new \CodeIgniter\Exceptions\PageNotFoundException($page);
}
helper('html');
$data['title'] = $page == 'noticeboard' ? "page1" : "page2";
if($page != "index"){
echo view('templates/header', $data);
}
echo view("pages/$page", $data);
if($page != "index"){
echo view("templates/footer", $data);
}
}
}
我的路由器:
$routes->get("/", "Pages::viewPage/index");
Header 在 HTML:
<?=link_tag('public/css/style.css')?>
assets 文件夹位于 htdocs 的根目录下(我正在使用 xampp apache 服务器)。
当我尝试加载 CSS 或 JS 时,出现此错误:
我是 CodeIgniter 的新手,所以如果能提供任何帮助,我们将不胜感激。
- 目录结构:
htdocs
-public
--CSS
---style.css
--JS
---app.js
-app
--controllers
---Page.php
--views
---pages
----index.php
* 我已经将我的 CSS、JS 文件路由从资产更改为 public *
试试这个
$config['base_url'] = "http://ur_site_url.com/";
比你的看法
<?php echo base_url('assets/css/style.css'); ?>
您是否在 application/config/config.php 文件中添加了 base_url?
这里:http://prntscr.com/pji8a5
您提供的站点 URL 未定义。
你已经给了http://localhost:8080/css.....
但应该http://localhost:8080/SITE_URL/css.....
如果加上$config['base_url'] = "http://site_url.com/";
就可以直接给base_url('assets/css/style.css');
<link rel="stylesheet" href="<?php echo base_url('assets/css/style.css'); ?>">
<script src="<?php echo base_url('assets/js/js.css'); ?>"></script>
谢谢
由于应用程序是 public 文件夹的兄弟文件夹,
并且根据 codeIgniter 4。
您放在 public 文件夹中的任何内容都可以直接访问。
所以应该像下面这样才能将 css 应用于视图。
在 views 文件夹中假设有一个文件 index.php
那么代码应该如下所示:
index.php
<link rel="shortcut icon" type="image/png" href="/css/style.css"/>
GOTO config/App.php 并更改此变量
public $baseURL = 'http://yoursite';
然后您就可以访问它了
<?php echo base_url();?>
您还可以使用 html 帮助器并使用 link_tag 添加样式表
根据您的设置,如果您在 url 中隐藏 public 文件夹,则必须将 public 添加到 url.
<?php echo link_tag('public/css/style.css'); ?>
当我尝试加载 css 或 javascript 文件时,出现 returns 404 错误。
我尝试使用助手,例如 HTML 助手的 link_tag、URL 助手的 base_url 方法,它会创建一个到文件的路径,但不会可加载。
这是我的控制器:
class Pages extends Controller{
public function viewPage($page)
{
if(!is_file(APPPATH."/views/pages/$page.php")){
throw new \CodeIgniter\Exceptions\PageNotFoundException($page);
}
helper('html');
$data['title'] = $page == 'noticeboard' ? "page1" : "page2";
if($page != "index"){
echo view('templates/header', $data);
}
echo view("pages/$page", $data);
if($page != "index"){
echo view("templates/footer", $data);
}
}
}
我的路由器:
$routes->get("/", "Pages::viewPage/index");
Header 在 HTML:
<?=link_tag('public/css/style.css')?>
assets 文件夹位于 htdocs 的根目录下(我正在使用 xampp apache 服务器)。
当我尝试加载 CSS 或 JS 时,出现此错误:
我是 CodeIgniter 的新手,所以如果能提供任何帮助,我们将不胜感激。
- 目录结构:
htdocs -public --CSS ---style.css --JS ---app.js -app --controllers ---Page.php --views ---pages ----index.php
* 我已经将我的 CSS、JS 文件路由从资产更改为 public *
试试这个
$config['base_url'] = "http://ur_site_url.com/";
比你的看法
<?php echo base_url('assets/css/style.css'); ?>
您是否在 application/config/config.php 文件中添加了 base_url? 这里:http://prntscr.com/pji8a5
您提供的站点 URL 未定义。
你已经给了http://localhost:8080/css.....
但应该http://localhost:8080/SITE_URL/css.....
如果加上$config['base_url'] = "http://site_url.com/";
就可以直接给base_url('assets/css/style.css');
<link rel="stylesheet" href="<?php echo base_url('assets/css/style.css'); ?>">
<script src="<?php echo base_url('assets/js/js.css'); ?>"></script>
谢谢
由于应用程序是 public 文件夹的兄弟文件夹,
并且根据 codeIgniter 4。
您放在 public 文件夹中的任何内容都可以直接访问。
所以应该像下面这样才能将 css 应用于视图。
在 views 文件夹中假设有一个文件 index.php
那么代码应该如下所示:
index.php
<link rel="shortcut icon" type="image/png" href="/css/style.css"/>
GOTO config/App.php 并更改此变量
public $baseURL = 'http://yoursite';
然后您就可以访问它了
<?php echo base_url();?>
您还可以使用 html 帮助器并使用 link_tag 添加样式表 根据您的设置,如果您在 url 中隐藏 public 文件夹,则必须将 public 添加到 url.
<?php echo link_tag('public/css/style.css'); ?>