我正在学习CI,并尝试在获取数据的地方完成本教程。我的浏览器只是转储这个,没有其他
{entry}{id}
{title}{新闻}
{/条目}
你能帮我弄清楚吗?我很确定这与我在控制器文件中的解析器有关
现在我的观点是:
<head>
<title>News Blog</title>
</head>
<body>
{entries}
<p>{id}</p>
<h3>{title}</h3>
<p>{news}</p>
{/entries}
</body>
型号
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class NewsModel extends CI_Model {
public function __construct() {
$this->load->database();
}
public function getNews($slug = FALSE){
$query = $this->db->get('news');
return $query->result_array();
}
}
和控制器
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class News extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('newsModel');
}
public function index() {
$news = $this->NewsModel->getNews();
// I believe the issue is in the next few lines
$data['contactjs']=$this->parser->parse('templates/Javascript/contactjs',[],TRUE);
$data['bootCSS']=$this->parser->parse('templates/CSS/bootCSS',[],TRUE);
$data['CSS']=$this->parser->parse('templates/CSS/CSS',[],TRUE);
$data['jQuery']=$this->parser->parse('templates/Javascript/jQuery',[],TRUE);
$data['bootstrap']=$this->parser->parse('templates/Javascript/bootstrap',[],TRUE);
$template = '{id} {title} {news}';
$newsData = array('entries'=> $news);
$newsData = $this->parser->parse('pages/news', [], TRUE);
$data['news'] = $this->parser->parse('pages/news', $news, TRUE);
$this->load->view('templates/header', $data);
$this->load->view('pages/news');
$this->load->view('templates/footer');
}
}
您加载了解析器库吗?尝试输出$news变量,看看它是否包含一些数据。此外,请查看您的应用程序/日志文件夹以了解更多信息。也许有一个php错误你没有看到。
下一行代码应该像其他没有解析器的视图一样加载页面/新闻视图:
$this->load->view('pages/news'); // This view doesn't contain any parsed data now
我认为你应该创建一个临时变量,并将所有解析视图的所有数据放入其中。然后将其加载到视图中。要进行检查,请尝试输出最后一个变量,看看它是否包含类似的数据;
echo "<pre>"; print_r($data['news']);