Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
localhost.dev/pages/view/1
localhost.dev/pages/view/slug
localhost.dev/pages/slug
//Controller methods
#Method за добавяне на страница.
public function add()
{
//О, забравила съм как се пише на codeigniter Q_Q
//Такам, проверих :D
//Ако формата е събмитната
if($_POST)
{
//Зареждаме form_validation
$this->load->library('form_validation');
//Някакви validations
$this->form_validation->set_rules('name', 'Име на страницата', 'required|min_length[3]|max_length[12]|trim');
//Проверяваме дали са верни валидациите
if($this->form_validation->run() == false)
{
//препращаме към същата страница или друга
//и показваме грешките
}
else
{
//Забележка: използваме ключове, които отговарят на полета в таблицта.
$info['page_title'] = $_POST['name']; //Това вече зависи от формата, която имаш в view-то.
$info['page_content'] = $_POST['page_content']; //Това също.
//Зареждаме модела, ако не го правиш автоматично.
$this->model->load('pages');
//Прехвърляме информацията от $_POST към модела
$add_page = $this->pages->add_page($info);
//Малко USER FRIENDLY съобщения.
if($add_page)
$this->session->set_flashdata('success', 'Успешно добавихте страницата.');
//Виж в User Guide-a как се ползват flash messages, ако не ти е ясно ^_^
else
$this->session->set_flashdata('failure', 'Възникна грешка!');
//Препращаш към страницата с форма или за показване на съобщение.
redirect();
}
}
else
{
//Ако не е събмитната редиректваш или показваш view-то. =)
redirect(base_url);
}
}
#Method за показване на страница
//Забележка в routes.php вероятно ще трябва да добавиш нещо от сорта на
//$route['pages/view/(:num)'] = 'pages/view';
//ако ти генерира 404, когато достъпваш
public function view($id = NULL)
{
//Взимаме последния segment ot УРИ
$id = end($this->uri->segments);
//Зареждаме модела, ако не е зареден автоматично
$this->model->load('pages');
$get_page = $this->pages->get_page($id);
$data['get_page'] = $get_page[0];
//Ако има такава страница я показваме
if(!empty($get_page))
{
$this->load->view('your_view', $data['get_page]);
}
else
{
//Пускаме ерор FOUR OH FOUR
show_404();
}
}
//Model's methods
public function add_page($info)
{
//Ако си видял забележката преди добавянето на страница в контролера
//добавянето на страница е много лесно чрез CodeIgniter Active Records
//или подобието на AR в CodeIgniter :D
$q = $this->db->insert('pages', $info); //pages е таблицата, в която да се вкара
return (boolean)$q; //дали е изпълнено успешно
}
public function get_page($id)
{
$query = $this->db->get_where('pages', array('id' => $id));
return $query->result(); // ще върне резултат в фромата на Object
//а ако искаш да е като масив ползвай $query->result_array();
}