Ответов: 11 Просмотров: 4589
|
Прошу прощения за глупый вопрос.
Имеется шаблонизатор :
PHP:
скопировать код в буфер обмена
class templates { var $type; var $html ; function get_tpl ($tpl_name) { { return false; } else { $this->html = join('',file ($tpl_name)); } } function set_value($key,$var) { $key = '{' .$key . '}'; $this->values[$key] = $var; } function tpl_parse () { foreach ($this->values as $find => $replace ) { $this->html = str_replace ($find, $replace , $this->html ); } } } ?>
и имеется модуль меню с выпадающими подпунктами
PHP:
скопировать код в буфер обмена
class menu extends templates { var $type = 'menu'; var $main_menu = array (); function select_menu() { $q = mysql_query('SELECT menu_id,menu_name FROM eway_menu WHERE menu_type=0'); for ($main_menu=0; $main_menu<mysql_num_rows($q); $main_menu++) { $array[$main_menu] = mysql_result($q,$main_menu,'menu_name'); $t = mysql_query('SELECT menu_name FROM eway_menu WHERE menu_group='.mysql_result($q,$main_menu,'menu_id').' AND menu_type!=0'); for ($sub_menu=0; $sub_menu<mysql_num_rows($t); $sub_menu++) $array[$main_menu][$sub_menu] = mysql_result($t,$sub_menu,'menu_name'); } } }
Как правильно переписать шаблонизатор, или обратиться к нему чтобы передать значения массива (меню + выпадающее меню соответсвенно с группой) названия и прочее (ссылки и тп )
шабллнизатор работает по принципу
PHP:
скопировать код в буфер обмена
$tpl = new templates; $tpl->get_tpl (TMPL_DEFAULT_DIR.'/header.tpl'); $tpl->set_value(tpl_dir,'modules/templates/default/'); $tpl->tpl_parse(); echo $tpl->html;
Помогите разобраться и дописать шаблонизатор. И как лучше формировать список загружаемых шаблонов .tpl в отдельном файле ? я имею в виду чтобы после авторизации блок welcome.tpl заменяла к примеру cabinet.tpl
Я новичек, и очень расчитываю на вашу помощь. Могу написать быдло кодом это всё, но хочу познать ООП. желательно пишите комментарии к коду. Заранее спасибо |