Урок 4. Не выводится название страницы, в названии прописывается весь путь
0
Не выводится название страницы title
Код header.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title><?php echo $date ?> </title>
</head>
<body>
Код News.php:
<?php
defined('BASEPATH') OR exit('Now direct script access allowed');
class News extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('news_model');
}
public function index() {
$data['title'] = "Все новости";
$data['news'] = $this->news_model->getNews();
$this->load->view('templates/header', $data);
$this->load->view('news/index', $data);
$this->load->view('templates/footer');
}
public function view($slug = NULL) {
$data['news_item'] = $this->news_model->getNews($slug);
if(empty($data['news_item'])) {
show_404();
}
$data['title'] = $data['news_item']['title'];
$data['content'] = $data['news_item']['text'];
$this->load->view('templates/header', $data);
$this->load->view('news/view', $data);
$this->load->view('templates/footer');
}
}
Код News_model.php:
<!--модель для запросов в бд (работа с бд)
<?php
class News_model extends CI_Model {
public function __construct() {
$this->load->database();
}
public function getNews($slug = FALSE) {
if($slug === FALSE) {
$query = $this->db->get('news');
return $query->result_array();
}
$query = $this->db->get_where('news', array('slug' => $slug));
return $query->row_array();
}
}
Код routes.php:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['news'] = 'news'; //страница news
$route['news/(:any)'] = 'news/view/$1';
4 ответов
1
<title><?php echo $date ?> </title>
Вы в title пытаетесь вывести весь массив $data, по этому не выводится. В контроллере у вас переменная называется $data['title'], соответственно попробуйте написать так
<title><?php echo $title ?></title>
1
Если из title который в header вообще php код убрать, а написать любой текст, этот текст корректно отображается или тоже путь выводится? Если так, проверьте физическое расположение header, в правильной ли он папке лежит
1
Ничего не изменилось
1
Все перепробовал, пока не открыл код через Sublime, так я обычно через VS code сижу. Sublime показал что у меня в header.php открыты комментарии, а VS code этого не показывал)