Другие языки программирования и технологии

Есть кто по Php, Smarty знающий? Помогите.

Есть некий html код: <html> {one} </html> Хочу динамически в php формировать теги вставлять в один тег который в шаблоне и далее их использовать. Вот пример того что мне нужно. $smarty->assign("one","{two}"); $smarty->assign(BODY, $smarty->fetch("body.html")); $smarty->assign("two","ПРоверка"); Как это реализовать в smarty?
И так приступим. Всего у нас будет 2 ключевых файла.

* 1) file2compile.tpl – файл который мы будем парсить
* 2) template.php – главный файл содержащий класс шаблонов

Листинг файла file2compile.tpl:

<html>
<head>{TITLE}</head>
<body>

{SOMETPLTAGS}

</body>
</html>

Листинг файла template.php:

template = file_get_contents($tpl_name);
}
}
function set_tpl($key,$var)
{
$this->vars[$key] = $var;
}
function tpl_parse()
{
foreach($this->vars as $find => $replace)
{
$this->template = str_replace($find, $replace, $this->template);
}
}
}
$parse = new parse_class;
?>

Теперь я подробно опишу содержание этих двух файлов.
Файл: file2compile.tpl

Тут приведен обычный HTML код. В данном файле можно найти переменные вида {TITLE}. Это как раз именно те переменные которые мы будем заменять на нужное нам значение.
Файл: template.php

Мы имеем PHP класс, разделенный на 3 функции. В самом начале файла мы объявляем классовые переменные.

* $vars – массив со значениями (переменная, замена) .
* $template – файл который мы будем парсить.

Теперь перейдем к описанию функций.
Функция: get_tpl

В качестве аргумента функция принимает имя файла. В теле функции мы проверяем задан ли аргумент и существует ли файл. Если аргумент не задан и файл не существует мы возвращаем значение FALSE. В противном случае мы заполняем классовую переменную (template) содержанием файла.
Функция set_tpl

Функция принимает 2 значения, это переменная (напр. {TITLE)} и значение на которое мы будем ее заменять.
Функция tpl_parse

Функция не принимает никаких значений. В теле функции мы считывает массив $vars и производим замену установленных переменных на заданные значения.
Использование класса.

Для вывода на экран используйте следующие команды:

get_tpl('template.tpl'); //Файл который мы будем парсить
$parse->set_tpl('{TITLE}','Супер сайт'); //Установка переменной {TITLE}
$parse->set_tpl('{BGCOLOR}','#F2F2F2'); //Установка переменной { BGCOLOR }
$parse->set_tpl('{SOMETPLTAGS}','<font>Это текст
обрамленый красным цветом</font>'); //Установка переменной {SOMETPLTAGS}
$parse->tpl_parse(); //Парсим
print $parse->template; //Выводим нашу страничку
?>
Иван Похлебаев
Иван Похлебаев
712
Лучший ответ