@serg_astashin

Как сделать статические страницы(на подобии того, как в дле)?

Короче. Суть проста. Хочу чтобы на сайте было несколько страниц. Есть простейший код
<?php
$html = file_get_contents( '../templates/default/main.tpl' );
$html = str_replace( '{TITLE}', $title, $html );
$html = str_replace( '{CONTENT}', $content, $html );
$html = str_replace( '{LOGIN}', $login, $html );
$html = str_replace( '{INFO}', $info, $html );
$html = str_replace( '{PAGE}', $page, $html );
$html = str_replace( '{REG}', $reg, $html );
echo $html;
?>

Переменные задаются как-то так:
$info = include(тут/путь);
Надо:
1. Чтобы можно было делать статические страницы, как в дле(то есть чтобы создавалась страничка и на нее бы выводился мэйн тпл только вместо тега контент-страница(страниц, кстати, будет несколько).
2. Чтобы теги работали в любом фпйле из папки с шаблоном. То есть не как сейчас, толька на мейне, а еще и в других шаблонах(рег, инфо и т.п.).
3. Ну и чтобы можно было сделать регистрацию и вход через статические страницы(то есть это были бы страницы, на которых можно просто писануть {REG} и вставиться шаблон reg.tpl.

Вот, собсна, и все. Сам думал, не смог додумать.
  • Вопрос задан
  • 281 просмотр
Пригласить эксперта
Ответы на вопрос 1
@SergeyZelensky-Rostov
раскидайте все по tpl-файлам, а потом include где надо вывести определенный блок
к примеру вот так
<?php
function render($mainTpl, $Content)
{
	if(file_exists($mainTpl)){
		include $mainTpl;
	}
}
?>

maintpl.tpl
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<? include $content; ?>
</body>
</html>

и вызываем 
render( '.../maintpl.tpl','.../reg.tpl');
render( '.../maintpl.tpl','.../reg.tpl');
это самый простой способ но все же он лучше чем str_replace
но его можно развить и сделать очень удобным
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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