Я работал над проектом Igniter, и я почти готов. Я, наконец, добавил Pagination, но имею одну проблему. Когда я просматриваю свои ссылки на странице и нажимаю, чтобы перейти на мою домашнюю страницу, я получаю сообщение об ошибке. Пытаясь сломать это вниз так, чтобы другие могли лучше понять это, моя страница блога, который имеет нумерацию страниц имеет этот URL:вопрос маршрута в проекте CodeIgniter
proj1/index.php/блог
мой URL для домашней странице:
proj1/index.php/дома
, когда я нажимаю на моей постраничной ссылку на "2", который показывает следующий набор блогов, я к этому URL:
proj1/index.php/блог/2
Теперь, если я на блоге/2, а затем нажмите кнопку «домой» он принимает меня здесь:
proj1/index.php/блог/дома
если я иду на моей странице резюме я вижу это:
proj1/index.php/блог/работа
в принципе, я не вернусь к моей домашней странице, ни моей странице резюме. Кто-нибудь может помочь решить эту проблему? Спасибо за помощь!!
Вот что мой контроллер блог выглядит следующим образом:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Blog extends CI_Controller {
//This function begins to construct the controller.
public function __construct()
{
parent::__construct();
$this->load->model('Blog_model');
$this->load->helper('url_helper');
//pagination being loaded from the library
$this->load->library('pagination');
}
public function index()
{
//This line sets the page for the base URL
$config['base_url'] = base_url('index.php/blog');
$config['total_rows'] = $this->Blog_model->count_items();
$config['per_page'] = 2;
$this->pagination->initialize($config);
$data['title'] = 'Blog archive';
$data['pagination'] = $this->pagination->create_links();
$start = '';
$slug = '';
$data['blog'] = $this->Blog_model->get_items($config['per_page'], jjjj $this->uri->segment(2));
$this->load->view('templates/header', $data);
$this->load->view('blog/index', $data);
$this->load->view('templates/footer');
}
public function view($slug = NULL)
{
$data['blog_item'] = $this->Blog_model->get_blog($slug);
if (empty($data['blog_item']))
{
show_404();
}
$data['title'] = $data['blog_item']['title'];
$this->load->view('templates/header', $data);
$this->load->view('blog/view', $data);
$this->load->view('templates/footer');
}
public function create()
{
$this->load->helper('form');
$this->load->library('form_validation');
$data['title'] = 'Create a Blog Entry';
$this->form_validation->set_rules('title', 'Title', 'required');
$this->form_validation->set_rules('body', 'Body', 'required');
if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('blog/create');
$this->load->view('templates/footer');
}
else
{
$this->Blog_model->set_blog();
redirect('blog');
}
}
}
Вот мой блог модель:
<?php
class Blog_model extends CI_Model {
//This function connects to the database and loads it.
public function __construct()
{
parent::__construct();
$this->load->database();
}
//This function counts all of the items in the blog table.
public function count_items()
{
return $this->db->count_all('blog');
}
//function pulls items out of the array specifically by newest date first.
function get_items($limit, $offset)
{
$data = array();
$this->db->limit($limit, $offset);
$this->db->order_by('entry_date', 'desc');
$query = $this->db->get('blog');
if ($query->num_rows() > 0){
foreach ($query->result_array() as $row){
$data[] = $row;
}
}
$query->free_result();
return $data;
}
public function set_blog()
{
$this->load->helper('url');
$slug = url_title($this->input->post('title'), 'dash', TRUE);
$data = array(
'title' => $this->input->post('title'),
'slug' => $slug,
'body' => $this->input->post('body')
);
return $this->db->insert('blog', $data);
}
}
Наконец, мои маршруты выглядеть следующим образом:
$route['message'] = 'contact/create';
$route['contact'] = 'contact';
$route['blog/(:any)'] = 'blog/index/$1';
$route['create'] = 'blog/create';
$route['blog'] = 'blog';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';
Спасибо за любую помощь, и, пожалуйста, дайте мне знать, если вы хотите, чтобы я опубликовал дополнительную информацию. Я не думаю, что это трудно решить. Однако, это меня насторожило! Еще раз спасибо за помощь!
Вы определили $ config ['base_url'] = base_url ('index.php/blog'); который устанавливает base_url –
Могу ли я узнать, какой фрагмент кода вы используете для ссылки на домашнюю страницу –
Я действительно считаю, что проблема может быть в переменной $ config, но как ее исправить? Что вы подразумеваете под «фрагментом кода для ссылки на домашнюю страницу»? Я использую это: index.php/home - это то, что вы имеете в виду? –