Здраствуйте. Использую bTemplate http://massassi.com/bTemplate/index.php?page=home Работает просто СУПЕР. Но столкнулся с проблемой. Вывожу выбор (SELECT) с помощью такого вот кода: PHP: <select id='payerrax_id' style='WIDTH:49%'> <loop:payerrax> <option value=<tag:payerrax[].GPAYERACCOUNT_ID />> <tag:payerrax[].PAYERACCOUNT /> </option> </loop:payerrax> </select> Все выводится нормально. Но !! Мне нужно чтобы запись где GPAYERACCOUNT_ID=2 была HTML: selected Я так понимаю в bTemplate такое не предусмотрено. Подскажите, как можна реализовать. Или посоветуйте другие варианты шаблонизаторов, только с таким же простым синтаксисом.
Так легче всего ответить. Но раз люди создают шаблонизаторы, значить кому-нибудь єто нужно Смотрю сейчас PEAR. Что скажете?
Это неправильный подход. Абсолютно. Надо сначала решить, зачем он нужен — тебе. Тогда можно будет выбирать.
Согласен с флоппик. Но сейчас столько разных систем, что новичку сразу так и не разобраться. И все пишут что они самые-самые. А где истина? Начинать же с чего-то надо.
начни писатиь свой. иногда помогает... это те как пример и не более того http://php.ru/forum/viewtopic.php?t=1372
GColor Почитай доки по этому bTemplates. Тебе нужен условный тег. В моем движке это выглядело бы так: Код (Text): <option value="<var:payer:GPAYERACCOUNT_ID>" <logic:equal property=payer:GPAYERACCOUNT_ID value="2" then="selected"/>><var:payer:PAYERACCOUNT></option> А здесь - не знаю, но тоже что-то наподобие. Хотя если на то пошло, можно сделать гораздо проще: Код (Text): <select id="payerrax_id" style="WIDTH:49%"> <write:options property=payerrax selected="2"> </select> Но для этого нужно, чтобы $payerrax был ассоциативным массивом (т.е. ID=>имя)
простой, кривоватый шаблонизатор, но работает не хуже других http://php.ru/forum/viewtopic.php?t=15102 а вот ещё, даавно правдо писал...натиный PHP: <? class tpl { public $tpldir,$opt; private $vars,$tplcache,$globalvars,$cachedir; function __construct($opt) { $this->tpldir=$opt['tpl_dir']; $this->opt=$opt; $this->cachedir=$opt['cache_dir']; } function set($name,$value=0) { if (!is_array($name)) { $this->vars[$name]=$value; }else if(is_array($name) && count($name)) { foreach($name as $key=>$val) { $this->vars[$key]=$val; } }else { trigger_error("Ошибка: Не указано значение переменной", E_USER_ERROR); } } function set_global($name,$value=0) { if (!is_array($name)) { $this->globalvars[$name]=$value; }else if(is_array($name) && count($name)) { foreach($name as $key=>$val) { $this->globalvars[$key]=$val; } }else { trigger_error("Ошибка: Не указано значение переменной", E_USER_ERROR); } } function load($tplname,$cacheon=false) { if (!$this->tplcache[$tplname]) { $fp=@file_get_contents($this->tpldir.'/'.$tplname); if ($fp) { $fp=get_magic_quotes_gpc()?stripslashes($fp):$fp; $this->tplcache[$tplname]=$fp; } }else { $fp=$this->tplcache[$tplname]; } if (!$fp) trigger_error("Ошибка: Шаблон ".$this->tpldir.'/'.$tplname." не найден",E_USER_ERROR); @ob_start(); if ($this->vars) extract($this->vars); $_GLOBALS=$this->globalvars; eval("?".">".$fp."<?"); // И ниипёт . - точка $res=ob_get_contents(); ob_clean(); if ($this->opt['cache_on'] || $cacheon) $this->cache_save($tplname,$res); return $res; } function clear() { $this->vars=array(); } function is_cached($tplname) { $fd=$this->cachedir.'/'.md5($tplname).'.ch'; if (file_exists($fd) && time()-filemtime($fd)<=$this->opt['cache_time']){ return true; }else{ if (file_exists($fd)) unlink($fd); return false; } } function get_cache($tplname) { $fd=$this->cachedir.'/'.md5($tplname).'.ch'; $fp=file_get_contents($fd); $fp=get_magic_quotes_gpc()?stripslashes($fp):$fp; return $fp; } function clear_cache($tplname) { $fd=$this->cachedir.'/'.md5($tplname).'.ch'; return @unlink($fd); } private function cache_save($tplname,$res) { if (@file_put_contents($this->cachedir.'/'.md5($tplname).".ch",$res)) { }else { trigger_error("Ошибка: Не могу кешировать шаблон $tplname в папку ".$this->cachedir,E_USER_ERROR); } } } ?>