Welcome Guest, Not a member yet? Register   Sign In
route problem
#1

[eluser]anyamanggar[/eluser]
hi guys, I have no problem when routing like this:

Code:
$route['halaman/(:any)'] = 'halaman/view/$1';

the halaman for view its work

but when I try to add a method like bellow it doesn’t work:

Code:
$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route['halaman/(:any)'] = 'halaman/view/$1';
$route['halaman/news(:any)'] = 'halaman/news/$1';
$route['halaman'] = 'halaman/$1';
$route['web'] = 'web';
$route['(:any)'] = 'web/$1';

halaman for view its not work, but news working, this my controller

Code:
<?php
class Halaman extends CI_Controller {

public function __construct()
{
  parent::__construct();
  $this->load->model('pages_model');
  $this->load->library('pagination');
   $this->load->helper('my');
  
  
}

public function index()
{

$this->load->model('pages_model');
    $data['halaman'] = $this->pages_model->get_halaman();

$this->load->model('news_model');
    $data['news'] = $this->news_model->get_news();

$this->load->model('publication_model');
$data['publication'] = $this->publication_model->get_publication();

$this->load->model('banner_model');
$data['banner'] = $this->banner_model->get_banner();
    
$this->load->model('linkspartner_model');
    $query = $this->linkspartner_model->retrieve();
    $data['linkspartner'] = $query;
    
$this->load->model('slideshow_model');
    $query = $this->slideshow_model->retrieve();
    $data['slideshow'] = $query;
  
$this->load->model('galleryphoto_model');
    $query = $this->galleryphoto_model->retrieve();
    $data['galleryphoto'] = $query;

$this->load->view('template/news_view', $data);

}

public function view($url)
{

$this->load->model('publication_model');
$data['publication'] = $this->publication_model->get_publication();

$this->load->model('news_model');
$data['news'] = $this->news_model->get_news();

$this->load->model('banner_model');
$data['banner'] = $this->banner_model->get_banner();
    
$this->load->model('linkspartner_model');
    $query = $this->linkspartner_model->retrieve();
    $data['linkspartner'] = $query;
    
$this->load->model('slideshow_model');
    $query = $this->slideshow_model->retrieve();
    $data['slideshow'] = $query;
  
$this->load->model('galleryphoto_model');
    $query = $this->galleryphoto_model->retrieve();
    $data['galleryphoto'] = $query;


$this->load->model('pages_model');
  $data['halaman'] = $this->pages_model->get_halaman();
$data['halaman_item'] = $this->pages_model->get_halaman($url);
$data['halaman_item'] = $this->pages_model->get_content($url);

if (empty($data['halaman_item']))
{
  show_404();
  exit('The error is here.');  
}
$this->load->view('halaman/view', $data);

}

public function news($slug){
  
  $this->load->model('publication_model');
$data['publication'] = $this->publication_model->get_publication();
  
  $this->load->model('pages_model');
    $data['halaman'] = $this->pages_model->get_halaman();

$this->load->model('news_model');
$data['news'] = $this->news_model->get_news();

$this->load->model('banner_model');
$data['banner'] = $this->banner_model->get_banner();
    
$this->load->model('linkspartner_model');
    $query = $this->linkspartner_model->retrieve();
    $data['linkspartner'] = $query;
    
$this->load->model('slideshow_model');
    $query = $this->slideshow_model->retrieve();
    $data['slideshow'] = $query;
  
$this->load->model('galleryphoto_model');
    $query = $this->galleryphoto_model->retrieve();
    $data['galleryphoto'] = $query;

$this->load->model('news_model');
    $data['news'] = $this->news_model->get_news();
$data['news_item'] = $this->news_model->get_news($slug);
if (empty($data['news_item']))
{
  show_404();
  exit('The error is here.');  
}
$data['title'] = $data['news_item']['title'];
$this->load->view('halaman/news', $data);


}

}
#2

[eluser]CroNiX[/eluser]
Change the order of these 2 routes:
Code:
$route['halaman/(:any)'] = 'halaman/view/$1';
$route['halaman/news(:any)'] = 'halaman/news/$1';

The more specific route (3 segments) needs to come before the less specific route (2 segments or 1), because a url of "halaman/news/something" will actually also match the "halaman/(:any)" rule if that one comes first.

Also, you should have a slash after news and before (:any) in the 2nd route.
#3

[eluser]anyamanggar[/eluser]
[quote author="CroNiX" date="1343202145"]Change the order of these 2 routes:
Code:
$route['halaman/(:any)'] = 'halaman/view/$1';
$route['halaman/news(:any)'] = 'halaman/news/$1';

The more specific route (3 segments) needs to come before the less specific route (2 segments or 1), because a url of "halaman/news/something" will actually also match the "halaman/(:any)" rule if that one comes first.

Also, you should have a slash after news and before (:any) in the 2nd route.[/quote]

Thanks CroNix, i nice to help me again. Big Huge Smile




Theme © iAndrew 2016 - Forum software by © MyBB