(в данном виде каждый блок прописан вручную).
А получается это так .
Каждый послед шаблон заменяет предыдущий :(
Листинг основы php (убрал почти все от mysql т.к там все работает) :
<?php
function cont ($img_link,$name) { //функция вызова шаблонизатора
include "template.php"; //шаблонизатор
$tpl->get_tpl('contein.tpl');
$tpl->set_value('PATH',$img_link);
$tpl->set_value('NAME',$name);
$tpl->tpl_parse();
echo $tpl->html;
}
$N=10;
$q="select * from product limit $N";
$r=mysql_query($q);
$n=mysql_num_rows($r);
for ($i=0; $i<$n;$i++){
$f=mysql_fetch_array($r);
cont ($f[p_img],$f[p_name]);
}
?>
листинг шаблонизатора
<?php
class template_class
{
var $value = array(); //переменные шаблона
var $html;
// функция загрузки шаблона
function get_tpl($tpl_name)
{
if(empty($tpl_name) || !file_exists($tpl_name))
{
return false;
}
else
{
$this->html = join('',file($tpl_name));
}
}
//функция установки значения
function set_value($key,$var)
{
$key = '{'.$key.'}';
$this->value[$key]= $var;
}
//парсинг шаблона
function tpl_parse()
{
foreach($this->value as $find => $replace)
{
$this->html = str_replace($find,$replace,$this->html);
}
}
}
//экхемляр класса
$tpl = new template_class;
?>
и самого шаблона (хотя и сомневаюсь что надо):
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="conteiner">
<img src="{PATH}" width="175px" height="175px" alt="изображение 1">
{NAME}
</div>
</body>
</html>
Прошу помочь советом,указав в чем ошибка и возможно посоветовав что почитать. Спасибо за внимание.