[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с шаблонизатором
SAHER
Здравствуйте. Такая проблемка, вставил шаблонизатор от DLE.

Вот код:

//Подключение файлов
@include('/engine/data/db_config.php');
@include('/engine/themes.class.php');
@include('/engine/data/config.php');


// Шаблонизатор
$tpl = new Template; //инициируем класс
$tpl->dir = ROOT_DIR.'themes/default/'; //задаём местоположение папки с шаблонами
$tpl->load_template('main.tpl'); //загружаем каркас
$tpl->set('{home}', $tpl->sub_load_template('home.tpl'));
$tpl->set('{about}', $tpl->sub_load_template('about.tpl'));

function content()
{

$about = $_GET['page'];

switch ($about):
default:
$home = include '/themes/default/home.tpl';//Если главная страница, то подгружать home.tpl
echo $home;
break;
case "about":
$about1 = include '/themes/default/about.tpl';
echo $about1;
break;
case "portfolio":
echo "Здесь будет портфолио";
endswitch;


}

$content = content();

//подставляем значения переменных
$tpl->set('{title}', SITE_NAME);
$tpl->set('{THEME}', ROOT_HOST.'/themes/default');
$tpl->set('{content}', $content);

$tpl->compile('main'); //собираем шаблон
eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php '); //выводим результат работы, с возможностью вставки пхп кода в tpl
$tpl->global_clear(); //очищаем все переменные для возможно следующего шаблона


Нужно заставить выводиться шаблоны, которые в switch-case, через тег {content}. помогите пожалуйста.



Спустя 11 часов, 20 минут, 2 секунды (26.08.2012 - 12:05) T1grOK написал(а):
Примерно так, если конечно правильно понял.
function content()
{
GLOBAL $tpl;

$about = $_GET['page'];

switch ($about):
default:
$template = '/themes/default/home.tpl';//Если главная страница, то подгружать home.tpl
break;
case "about":
$template = include '/themes/default/about.tpl';
break;
case "portfolio":
$template = "Здесь будет портфолио"; //Здесь так понимаю тоже будет шаблон, так что не сочтите за ошибку
endswitch;

return $tpl->sub_load_template($template);
}

Только с путями нужно будет разобраться, если для этого шаблонизатор DLE использует свою настройку.

Спустя 4 часа, 50 минут, 22 секунды (26.08.2012 - 16:55) Shkiper написал(а):
SAHER код с дле копировал ??

Спустя 6 часов, 43 минуты, 27 секунд (26.08.2012 - 23:38) SAHER написал(а):
Shkiper Нужен был мне шаблонизатор, много гуглил и нашел шаблонизатор свинченый с DLE и поставил.

Спустя 2 дня, 16 часов, 26 минут, 58 секунд (29.08.2012 - 16:05) SAHER написал(а):
T1grOK Спасибо, работает=)

Спустя 6 часов, 7 минут, 48 секунд (29.08.2012 - 22:13) SAHER написал(а):
Извините, еще один вопрос назрел, как вместо tpl файла вставить какой-нибудь php файл? Шаблонизатор ошибку выдает если вставить.

Делал вот так:

function content()
{
GLOBAL $tpl;
GLOBAL $module;

$about = $_GET['page'];

switch ($about):
default:
$template = '/themes/default/home.tpl';//Если главная страница, то подгружать home.tpl
break;
case "about":
$template = include '/themes/default/about.tpl';
break;
case "portfolio":
$module = include 'путь/путь/путь/show.php';
endswitch;

return $module;
return $tpl->sub_load_template($template);
}


А оно нужную мне информацию из файла show.php выводит не через тег {content}, а в самом верху кода. Помогите пожайлуйста.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.