Понимание маршрутизации CI и $ page -> не удается найти .css или .js - PullRequest
0 голосов
/ 01 марта 2012

Самое сложное в изучении Codeigniter, с которым я сталкиваюсь, это URI и URL «теория», если хотите.

Я следовал оригинальному руководству по статическим страницам, и теперь код, похоже, портит КАЖДУЮ отдельную ссылкувверх, кроме главной навигационной панели, требуя от меня постоянно добавлять параметры маршрутизации.Я полагаю, что я, должно быть, что-то делаю не так.

В моем контроллере в настоящее время у меня есть этот код, основанный на учебнике:

public function view($page = 'home') {}

Моя структура папок:

+ applications
  + views
    - welcome.php
    + main
      + css
      + js
      - home.php
      - about.php
      - etc.php

Я должен отметить, что страница welcome.php предназначена для страницы входа.На этой странице вы увидите ссылку на home.php (main / home /)

Мой код маршрутизации выглядит следующим образом:

$route['default_controller'] = 'welcome';
$route['main/(:any)'] = 'main/view/$1';
$route['main/home/home'] = 'main/view/$1';
$route['404_override'] = '';

Как видите, мне уже приходилосьналожите на него повязку с частью <code>$route['main/home/home'] = 'main/view/$1';, потому что нажатие на «home», когда оно уже находится на домашней странице, приведет к созданию ссылки на main / home / home / с отображением моей навигационной панели и созданиюновый набор отсутствующих ссылок с пометкой main / home / about /

Короче говоря, я сейчас пытаюсь сослаться на файл .js и файл .css, но хотя ссылки правильно указывают на / main /css / style.css не распознает его.

Вот мой код представления для заголовка (где я загружаю свои .css и .js)

<html>
    <head>
        <title><?php echo $title ?> - TownBuilder - Prototype</title>
        <link href="css/structure.css" rel="stylesheet" type="text/css">
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
        <script src="js/script.js"></script>
    </head>
<body>

<header>
    <ul>
        <li> <a href="profile"><?php echo $username ?></a></li>
        <li>Account</li>
    </ul>
</header>

Любые советы о том, какнастроить маршрутизацию так, чтобы она работала правильно?

Ответы [ 2 ]

1 голос
/ 01 марта 2012

ИМХО им нужно удалить часть маршрута из руководства по кодированию, потому что в этом нет необходимости, и это все портит.

Вот суть того, как все работает.Сначала закомментируйте все ваши маршруты.

Контроллер:

Class FirstController extends CI_Controller {

  public function home() {
      // do stuff
      $this->load->view('home');
  }
}

Убедитесь, что у вас есть представление с именем home.php в вашей папке просмотра.будет <base_url>/controller/method, поэтому в этом случае это будет <base_url>/FirstController/home

0 голосов
/ 01 марта 2012

Я думаю, вам следует добавить файл css / js в корневой каталог (вне папки приложения, создайте папку с именем css), поскольку CI имеет файлы .htaccess, которые запрещают любой доступ к папке приложения. Вы можете включать эти файлы только в свои скрипты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...