Другие языки программирования и технологии
Есть кто по 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; //Выводим нашу страничку
?>
* 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; //Выводим нашу страничку
?>
Похожие вопросы
- как выучить php не зная математики?
- Люди! Кто знает php devel studio, помогите!
- Кто знает, помогите! У меня не запускается компьютер, выдает такую информацию:
- хочу купить планшет, а как выбирать не знаю, помогите!
- Кто знает помогите написать на Турбо Паскале
- Стоит ли изучать язык php? Моя цель - уметь создавать ЛЮБЫЕ сайты, css и html уже знаю, и вот начал js учить. Этих знани
- помогите снова :D по php
- Можно-ли зарабатывать веб дизайном на жизнь? не зная php и язык програмирования?
- Помогите пожалуйста, проблема с php и html
- С какого языка начинать изучения программирования Pascal/PHP/Python?