[Smarty] ob_get_contents() et smarty
Salut à tous, bon je débute avec smarty :p
Bon voila je fait mon site donc avec smarty mais j'ai un problème a un endroit du site il me parse pas le code de smarty explication :
Mes pages de mon site fonctionne comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| <?php
define('ENVIRONMENT', 'development');
if (defined('ENVIRONMENT'))
{
switch (ENVIRONMENT)
{
case 'development':
error_reporting(E_ALL);
break;
case 'testing':
case 'production':
error_reporting(0);
break;
default:
exit('The application environment is not set correctly.');
}
}
include ('libs/function.php');
include ('libs/pdo.class.php');
include ('libs/autoload.class.php');
require_once('libs/Smarty.class.php');
$smarty = new Smarty();
$smarty->setTemplateDir('templates/');
$smarty->setCompileDir('templates_c/');
$smarty->setConfigDir('configs/');
$smarty->setCacheDir('caches/');
//Var importante
$smarty->assign('base_url_href', urldebase());
if(isset($_GET["Page"])) {
$gpage = $_GET["Page"];
}
else {
$gpage = "Accueil";
}
// Class de la page
if (file_exists("libs/class/".$gpage.".class.php")){
require_once("libs/class/".$gpage.".class.php");
}
// Contenue de la page
ob_start();
if (!@include("templates/".$gpage.".tpl")) {
$gpage = "Page introuvable";
$smarty->assign('content', error_no(404));
}
else {
$smarty->assign('content', ob_get_contents());
}
ob_end_clean();
$smarty->debugging = false;
$smarty->assign('gpage', $gpage);
// Theme
$smarty->display('layouts.tpl');
?> |
Donc dans mon layouts j'ai bien mon {$content}
et je vais vous montré une page donc la c'est l'accueil avec les news :
ma classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| <?php
$LoadAuto -> Classe('bbcode');
class Accueil extends PDOConfig {
public function __construct() {
$auths = PDOConfig::auth();
$chars = PDOConfig::char();
$worlds = PDOConfig::world();
$webs = PDOConfig::web();
}
public function ListageNews () {
$this->MessagesParPage = 5;
$this->RetourTotal = $this->webs->query('SELECT count(*) AS total FROM news')->fetchColumn();
$this->NombreDePages = ceil($this->RetourTotal / $this->MessagesParPage);
if(isset($_GET['PagesNews'])) {
$this->PageActuelle = intval($_GET['PagesNews']);
if($this->PageActuelle > $this->NombreDePages) {
$this->PageActuelle = $this->NombreDePages;
}
}
else {
$this->PageActuelle = 1;
}
$this->PremiereEntree = ($this->PageActuelle - 1) * $this->MessagesParPage;
$this->RetourFinal = $this->webs->query('SELECT *, DATE_FORMAT(dates, "Le %d/%m/%Y à %Hh et %imin") AS dates FROM news ORDER BY dates DESC LIMIT '.$this->PremiereEntree.','.$this->MessagesParPage.'');
$list_news = array();
$i = 0;
while($data = $this->RetourFinal->fetch()){
$list_news[$i]['id'] = $data['id'];
$list_news[$i]['title'] = $data['title'];
$list_news[$i]['dates'] = $data['dates'];
$list_news[$i]['content'] = $data['content'];
$i++;
}
return $list_news;
}
}
$Accueil = new Accueil;
$smarty->assign('list_news', $Accueil->ListageNews()); |
le problème c'est que à la place de tous me donné correctement bien parser j'ai ça comme affichage :
Code:
1 2 3 4
| {foreach $list_news as $news} {$news.title} écrit le {$news.dates|date_format:"%d/%m/%Y"}
{$news.content}
{foreachelse} Aucune news {/foreach} |
J'espere que vosu avez bien compris car c'est pas facile a expliquer x)