Codeigniter 4 встраивает файлы CSS и JS - PullRequest
0 голосов
/ 13 июля 2020

Я новичок в Codeigniter и пытаюсь использовать Codeigniter 4. Что мне нужно сделать, чтобы загрузить файлы CSS и JS? Последние 7 часов я тратил на то, чтобы выяснить, что случилось, но все еще не могу найти решения.

Это моя структура папок:

-app
-public
--css
---styles.css
--js
---mainjs.js
--img
-system
-writable

Файл есть и Я даже попытался указать точный путь вместо использования base_url, но продолжаю получать либо сообщение об ошибке «файл не найден», либо сообщение об ошибке внутреннего сервера. Учебник или руководство, которое я вижу на net, все, что я видел, это указание пути к местоположению файла, и это работает для них. Здесь также размещены ограниченные ответы, основанные на Codeigniter 4.

.env file
 app.baseURL = 'http://localhost/ci/'


app/Controllers/Pages.php

<?php namespace App\Controllers;

class Pages extends BaseController
{
    public function index()
    {
        return view('index');
    }
    
    
    public function view($page)
    {
        if ( ! is_file(APPPATH.'/Views/pages/'.$page.'.php'))
        {
            // Whoops, we don't have a page for that!
            throw new \CodeIgniter\Exceptions\PageNotFoundException($page);
        }

        $data['title'] = ucfirst($page); // Capitalize the first letter

        echo view('templates/header', $data);
        echo view('pages/'.$page, $data);
        echo view('templates/footer', $data);
    }

    //--------------------------------------------------------------------

}

app/Views/templates/header.php

<!DOCTYPE html>
<html lang="en-US" class="no-js">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="<?php echo base_url('public/css/style.css'); ?>" type="text/css" media="all" />
</head>

Надеюсь, здесь есть кто-то, кто может помочь мне в этом вопросе. Заранее спасибо.

1 Ответ

0 голосов
/ 19 июля 2020

, потому что в вашем .env app.baseURL = 'http://localhost/ci' if u echo base_url() он также вернет http://localhost/ci, поэтому предполагается, что ваша папка publi c имеет папку CI внутри этого

  • , если вы все еще хотите использовать свою текущую структуру папок
    <link rel="stylesheet" href="http://localhost/css/style.css" type="text/css" media="all" />

  • в вашей структуре publi c папок нет ci / assets папку, так что просто поместите свой стиль. css папку в ci / assets / css
<link rel="stylesheet" href="<?php echo base_url('assets/css/style.css'); ?>" type="text/css" media="all" />
...