function comment_template($user,$avatar,$nick,$message,$online,$date,$edit) {
if(file_exists("themes/".THEMES."/comments.php"))
{
include "themes/".THEMES."/comments.php";
}
else
{
include "themes/main/comments.php";
}
}
ну и в comments.php
<table align="center" class="show_comments">
<tbody>
<tr>
<td width="1%" valign="top">
<a href="anketa/'.$user.'"><img src="'.$avatar.'" width="80px"></a>
</td>
<td class="comment_content" valign="top">
<h3>Написал: <a href="anketa/'.$user.'">'.$nick.'</a> '.$online.'</h3>
<p class="comment_text">'.$message.'</p>
<div class="comment_time">'.$date.'</div>
<div class="comment_edit">'.$edit.'</div>
</td>
</tr>
</tbody>
</table>
Как сделать к примеру чтобы он брал фаил tpl к примеру и потом с тегов {user} получал $user и выводил потом... Подскажите как это делается)
Спустя 53 минуты, 50 секунд (23.06.2010 - 15:13) SlavaFr написал(а):
да вместо include делаеш file_get_contents() и содержимое через str_replace прогоняеш.
Спустя 13 минут, 58 секунд (23.06.2010 - 15:27) web-monster написал(а):
Спасибо!
Спустя 3 часа, 21 минута, 58 секунд (23.06.2010 - 18:49) web-monster написал(а):
К примеру вот так:
$opa = file_get_contents('themes/main/comments.tpl');
$left_skoba = str_replace("{", "$", "$opa");
$right_skoba = str_replace("}", ";", "$left_skoba");
echo $right_skoba;
а как сделать чтобы этот код выполнился как код)?
$opa = file_get_contents('themes/main/comments.tpl');
$left_skoba = str_replace("{", "$", "$opa");
$right_skoba = str_replace("}", ";", "$left_skoba");
echo $right_skoba;
а как сделать чтобы этот код выполнился как код)?
Спустя 2 часа, 35 минут, 40 секунд (23.06.2010 - 21:25) web-monster написал(а):
Сделал так:
и вызов
Так правильно или можно улучшить?
class Template {
var $vars = array();
var $template;
function get_template($template) {
if(file_exists("themes/".THEMES."/".$template.".tpl"))
{
$this->template = file_get_contents("themes/".THEMES."/".$template.".tpl");
}
else
{
$this->template = file_get_contents("themes/di_main/".$template.".tpl");
}
}
function set_template($key,$var) {
$this->vars[$key] = $var;
}
function template_parse() {
foreach($this->vars as $find => $replace)
{
$this->template = str_replace($find, $replace, $this->template);
}
}
}
и вызов
$this->get_template('comments'); // Шаблон
$this->set_template('{USER}',$user); // Пользователь
$this->set_template('{AVATAR}',$avatar); // Аватар
$this->set_template('{NICK}',$nick); // Ник
$this->template_parse(); //Парсим
echo $this->template; //Выводим
Так правильно или можно улучшить?