Я создаю свой первый веб-сайт CodeIgniter и решаю проблему, которую, кажется, трудно решить.
Когда я нажимаю на статью, чтобы прочитать ее, я продолжаю получать страницу 404. ( не найден )
ссылка, которую я получаю, выглядит следующим образом
index.php/статьи/название статьи
В моем контроллере у меня есть следующее для части просмотра
public function view($slug) {
$data['article_item'] = $this->articles_model->get_article($slug);
if (empty($data['article_item']))
{
show_404();
}
$data['title'] = $data['article_item']['title'];
$this->load->view('templates/header', $data);
$this->load->view('articles/view', $data);
$this->load->view('templates/side', $data);
$this->load->view('templates/footer');
}
Как вы видите, он должен включать view.php в каталог статей.
В моем маршрутизаторе у меня есть следующее
$route['articles/(:any)'] = 'articles/view/$1';
$route['articles/create'] = 'articles/create';
$route['(:any)'] = 'pages/view/$1';
$route['gallery'] = 'gallery';
$route['articles'] = 'articles';
$route['default_controller'] = 'home';
$route['404_override'] = '';
Просто чтобы убедиться, что я разместил все соответствующие материалы, вот ссылка, которую я создаю
<a href="articles/<?php echo $article_item['slug'] ?>" class="button">Read more</a>
и модель
<?php
class Articles_model extends CI_Model {
public function __construct() {
$this->load->database();
}
public function get_article($slug = FALSE) {
if ($slug === FALSE) {
$query = $this->db->get('articles');
return $query->result_array();
}
$query = $this->db->get_where('articles', array('slug' => $slug));
return $query->row_array();
}
}
Я надеюсь, что кто-то может сказать мне, что я делаю неправильно здесь ..
$data['article_item']
пусто?var_dump
это. - person Leri   schedule 03.03.2013show_404()
вызов? - person Maxime Morin   schedule 03.03.2013