У меня проблема с передачей и зацикливанием данных с помощью Jade Template Engine. Я пытался реализовать нефрит с Кодовый Воспламенитель (PHP Framework версии 3), конечно, он работал отлично, я могу расширить макет, создать файл с Jade, используя синтаксис Jade. К сожалению, я не знаю, как передать данные, полученные из базы данных, в представление Jade. Более серьезно, я действительно не знаю, как зацикливать данные как JSON с Джейд.
Я попытался с кодом ниже, но это не сработало.
Код PHP
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
//https://github.com/ci-jade/ci-jade
class Welcome extends CI_Controller {
use Jade;
public function index()
{
$this->settings([
'cache' => TRUE
]);
$this->view('myview', [
'title' => 'My Jade View',
'authors' => array(json_encode($this->user_model()->result()))
]);
}
public function user_model()
{
return $this->db->get('user');
}
}
Джейд: мой взгляд
extends layout
block script
script(type='text/javascript')
document.write('Hello M');
block content
#{authors}
h1 Hello I am using jade
each user in authors
li=user.user_name
Вы видите, что не было никакой ошибки, а также не было никаких данных также.
Глядя на СI-нефрит(Я предполагаю, что это то, что вы используете) документация, похоже, что вы реализуете ее неправильно. Документация показывает, что вам нужно позвонить $this->load->library('jade')
использовать его (это относится ко всем библиотекам codeigniter). Вы также должны позвонить $this->load->vars()
передать переменные в представления. После загрузки библиотеки вы сможете использовать ее методы, вызывая $this->jade->...()
,
Для получения дополнительной информации об использовании библиотек codeigniter посмотрите на этот.
Других решений пока нет …