Как правильно заинклудить php файлы в smarty, чтобы затем отображалось содержимое tpl файлов?

Проблема заключается в том, что при инклуде php файлов в index.php страницы с контентом становятся пустыми, без какого либо html/php кода. Собственно вот мой index.php, возможно я что то делаю не так, буду очень благодарен за Вашу помощь.

<?php

error_reporting(0);
define('INCLUDE_CHECK',true);
include 'config.php'; 
include 'auth.php';
require '/libs/Smarty.class.php';

$path = dirname(__FILE__);
define('GLI',true);
$q = mysql_query("SELECT `name` FROM `rust_templates` WHERE `name`='default';",$sql);
$theme = mysql_result($q,0);
$tpl = new Smarty();
$theme_path = './templates/'.$theme.'/';
$tpl->template_dir = $theme_path;
$tpl->assign('path', $theme_path);
$tpl->caching = false;
//$tpl->compile_dir = './cache/';
$tpl->cache_dir = './cache/';

if(empty($_SESSION['id'])) {
    // Тут делаем авторизацию
    $tpl->assign('title', 'Авторизация');
    if(isset($_GET['error'])) {
        $tpl->assign('errno', 'Неверный логин или пароль!');
        $logger->WriteLine($log_date . "Неудачная попытка авторизации с ip: " . $_SERVER['REMOTE_ADDR']);
    }
    $tpl->assign('title', 'Новости');
    include("./modules/news.php");
    $tpl->display('guest.tpl');
} else {
    if(!isset($_GET['page']) || $_GET['page'] == '') {
        $tpl->assign('title', 'Новости');
        include("./modules/news.php");
        $tpl->assign('content', 'short-story.tpl');
        $tpl->assign('welcome1', 'Добро пожаловать '.$username.'!');
    } else {
        $full_path = './theme/'.$theme.'/'.$_GET['page'].'.tpl';
        if(!file_exists($full_path)) {
            $tpl->assign('title', 'Ошибка 404');
            $tpl->assign('content', 'error.tpl');
            $tpl->assign('welcome1', 'Ошибка 404');
            $tpl->assign('welcome2', '');
        }
        if($_GET['page'] == 'buy') {
            $tpl->assign('title', 'Покупка статуса');
            include("news.php");
            $tpl->assign('welcome1', 'Покупка статуса');
            $tpl->assign('welcome2', 'Здесь вы можете купить игровой статус');
        }
        if($_GET['page'] == 'quit') {
		    session_destroy();
			header("Location: index.php");
		}
    }
    $tpl->display('index.tpl');
}
mysql_close($sql);
  • Вопрос задан
  • 2638 просмотров
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
А что по логам ошибок? Во вставляемых файлах нет ошибок, переменные не перекрываются? Можно попробовать буферизацию вывода (ob_start\ob_get_clean)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы