Справка по маршрутизации Codeigniter, обратные ссылки на предыдущие каталоги

рассматриваемый сайт: http://www.ziplinegolive.com/

Я построил это в CI, и в настоящее время есть 2 папки «представления».

-страницы и -новости

Я хочу создать каталог новостей, чтобы упорядочивать свои сообщения и не мешать другим страницам. Моя проблема, с которой я сталкиваюсь, заключается в том, что когда я захожу на http://www.ziplinegolive.com/news/home Я заметил, что когда я проверяю ссылки в заголовке... все URL-адреса получают каталог новостей/... что не позволяет мне вернуться назад... Кто-нибудь знает, как я могу это исправить? В настоящее время у меня есть один файл конфигурации маршрутов и 2 контроллера.

сначала вот мои маршруты.php

$route['news/(:any)'] = 'news/view/$1';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';

вот мой стандартный контроллер страниц

<?php

class Pages extends CI_Controller {

public function view($page = 'home')
{
  if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
{
    // Whoops, we don't have a page for that!
    show_404();
}

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

$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);

}
}

а вот мой контролер новостей

<?php
class News extends CI_Controller {

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

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

  $this->load->view('templates/header', $data);
  $this->load->view('news/'.$page);
  $this->load->view('templates/footer', $data);


}

}

Я ломал голову, чтобы попытаться понять это .... любая помощь БОЛЬШОЕ оценивается!

спасибо!

ОБНОВЛЕНИЕ: ДОБАВЛЕНО HEADER.PHP - как вы можете видеть, файлы css и js статически связаны из-за этого фиаско с маршрутизацией....

<!doctype html>
<html class="no-js" lang="en">
<head>
 <meta charset="utf-8">
 <title>ZipLine™</title>
 <meta name="apple-mobile-web-app-capable" content="yes">
 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,    user-scalable=no" />
 <meta name="HandheldFriendly" content="true" />
 <meta name="apple-touch-fullscreen" content="yes" />
 <!-- All Animations CSS -->
 <link href="http://www.ziplinegolive.com/css/animate.css" rel="stylesheet" type="text/css">
 <!-- Image Lightbox CSS-->
 <link rel="stylesheet" href="http://www.ziplinegolive.com/css/imagelightbox.css"      type="text/css" media="screen">
 <!-- Theme styles and Menu styles -->
 <link href="http://www.ziplinegolive.com/css/style.css" rel="stylesheet" type="text/css">
 <link href="http://www.ziplinegolive.com/css/mainmenu.css" rel="stylesheet" type="text/css">
 <!-- Call Fontawsome Icon Font from a CDN -->
 <link href="http://netdna.bootstrapcdn.com/font-     awesome/4.1.0/http://www.ziplinegolive.com/css/font-awesome.min.css" rel="stylesheet">
 <link rel="stylesheet" href="js/jquery.fancybox.css" type="text/css" media="screen">

 <!--FlexSlider -->
 <link rel="stylesheet" href="js/woothemes-FlexSlider-06b12f8/flexslider.css"      type="text/css" media="screen">
 <!--Isotope Plugin -->
 <link rel="stylesheet" href="js/isotope/http://www.ziplinegolive.com/css/style.css"      type="text/css" media="screen">
 <!--Simple Text Rotator -->
 <link href="http://www.ziplinegolive.com/css/simpletextrotator.css" rel="stylesheet" type="text/css">
 <!--Modernizer Custom -->
 <script type="text/javascript" src="js/modernizr.custom.48287.js"></script>
 <!-- Fav and touch icons -->
 <link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-114x114-precomposed.png">
 <link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-72x72-precomposed.png">
 <link rel="apple-touch-icon-precomposed" href="apple-touch-fa-57x57-precomposed.png">
 <link rel="shortcut icon" href="favicon.png">
 </head>
 <body class="sticky_header">
 <div class="overflow_wrapper">
 <header>
      <div class="container">
           <div class="logo"><a class="brand" href="index.html"><img      src="http://www.ziplinegolive.com/images/logo.png" alt="optional logo"></a></div>

           <!-- MAIN MENU -->

           <div id="mainmenu" class="menu_container">
                <label class="mobile_collapser">MENU</label>
                <!-- Mobile menu title -->
                <ul>
                     <li class="active"><a href="index.html">Home</a></li>
                     <li><a href="#">About Us</a>
                     <div class="dmui_dropdown_block">
                               <ul class="dmui-submenu">
                                    <li><a href="about">The Company</a></li>
                                    <li><a href="media">Media</a></li>
                                    <li><a href="partners">Partners</a></li>
                               </ul>
                          </div>

                     </li>
                      <li><a href="products">Products and Services</a></li>
                     <li><a href="news">News</a></li>
                     <li><a href="contact">Contact</a></li>
                </ul>
           </div>

           <!-- /MAIN MENU -->

           <div class="triangle-up-left"></div>
           <div class="triangle-up-right"></div>
      </div>
 </header>

person Tetzuro    schedule 23.12.2014    source источник
comment
Можете ли вы опубликовать свой header.php?   -  person Verba    schedule 23.12.2014
comment
Привет Верба! да, я только что добавил это   -  person Tetzuro    schedule 23.12.2014


Ответы (1)


Измените свои ссылки.

Например

<li><a href="about">The Company</a></li> 
=> 
<li><a href="<?php echo site_url('about');?>">The Company</a></li>

А также вы можете ссылаться на файлы css/js следующим образом:

 <link href="<?php echo base_url('assets');?>/css/mainmenu.css" rel="stylesheet" type="text/css">

Это, конечно, предполагает, что у вас есть файлы css в проекте/активы/css

person Verba    schedule 23.12.2014
comment
ммм, когда я это делаю, мой сайт ломается... я только что изменил ссылку "о нас" - взгляните на сайт сейчас - person Tetzuro; 23.12.2014
comment
страница, кажется, загружается полностью до этой ссылки...:/ - person Tetzuro; 23.12.2014
comment
Включите помощник URL в вашем autoload.php - person Verba; 23.12.2014
comment
$autoload['помощник'] = массив(); ?? что мне тоже изменить? это запутанная часть, о которой я думаю - person Tetzuro; 23.12.2014
comment
я добавил $this-›load-›helper('url'); к массиву(), но ничего... я здесь совсем потерялся - person Tetzuro; 23.12.2014
comment
$autoload['помощник'] = массив('url'); - person Verba; 23.12.2014
comment
хорошо, круто, это работает, но я заметил ЕЩЕ ОДНУ ВЕЩЬ .... поведение некоторых ссылок меняется, когда вы щелкаете .... я не знаю, видите ли вы, но если вы перейдете на ziplinegolive.com, в разделе «О нас» есть выпадающий .... затем, как только вы переходите на следующую страницу ... она теряет это, и изображения не отображаются .... я думаю, что это как-то связано с index.php в URL-адресе, который я удалил из мои htdocs... я предполагаю, что мне нужно установить базовый URL-адрес без index.php? - person Tetzuro; 23.12.2014
comment
Хм ... вы удалили фактический файл index.php из корня вашего приложения codeigniter? - person Verba; 23.12.2014
comment
Тем не мение. Здесь вы узнаете, как удалить index.php из URL-адреса: ellislab.com/codeigniter/ user-guide/general/urls.html Удаление файла index.php - person Verba; 23.12.2014
comment
хорошо, да, это моя новая проблема, как я могу получить этот код ‹?php echo site_url('about');?›, чтобы не включать этот проклятый index.php ..... мммм, не то, о чем я думаю... в моем приложении / все, что у меня есть, это index.html, но я не вижу ни одного index.php - person Tetzuro; 23.12.2014
comment
Ага. Сделайте это с .htaccess и убедитесь, что в вашем файле config.php это выглядит так: $config['index_page'] = ''; - person Verba; 23.12.2014
comment
Давайте продолжим обсуждение в чате. - person Verba; 23.12.2014