PHPlib pearовский - как парсить top и bottom?

Poster

Новичок
PHPlib pearовский - как парсить top и bottom?

Для того чтоб подключить верхнюю и нижнюю часть страниц (которая для всех одинакова) попробовал в шаблоне .html сделать
PHP:
include(top.html);
, но парсер не парсит этот код и выдает его в html страницы как <? include(top.html); ?>.

Сделал top.html шаблоном, и парсю его для включения в основные шаблоны.

Вопрос: правильно ли я делаю?

например, меню:
PHP:
		$t -> setBlock("menu", "menurow", "megamenu");
		foreach ($menu_element as $m_e) {
				$t -> setVar(array('MENU_ELEMENT' => $m_e));
				$t -> parse("megamenu", "menurow", TRUE);
		}
		$t -> parse("MENU", "menu");
и так же делаю блок top:

PHP:
		$t -> setBlock("top", "top", "toptable");
		$filename = $templates.'top.html';
		$fd = fopen ($filename, "r");
		$top_data = fread ($fd, filesize ($filename));
		fclose ($fd); 
			$t -> setVar(array('TOP' => $top_data	));
			$t -> parse("toptable", "top", TRUE);
А если нужно будет в top включить php-код?

как тогда поступить? Спасибо
 

Groove

Новичок
когда ты объяснишь себе для чего - ты сам получишь ответ на свой вопрос...

-~{}~ 23.08.05 13:45:

а вообще, сделай один большой шаблон и несколько подшаблонов, которыми потом можно манипулировать

например:

ОБЩИЙ КАРКАС СТРАНИЦЫ
(переменные шаблона: TOP, BOTTOM, LEF_MENU, BODY)

ШАПКА
(переменные шаблона: LOGIN_FORM)

БЛОК 1
(форма логина)

БЛОК 2
(Переменные шаблона: LOGIN)

а потом к примеру в зависимости от того, залогиненный у тебя посетитель или нет парсишь сперва БЛОК1 или БЛОК2, вставляешь его в шаблон ШАПКА в переменную LOGIN_FORM
затем парсишь шапку и вставляешь его в шаблон ОБЩИЙ КАРКАС СТРАНИЦЫ.
Специально выделил шапку в отдельный шаблон для создания дополнительного уровня в шаблонах проекта, конечно это не обязательно было делать...

Таким образом ты используешь шаблоны по прямому назначению и не расстраиваешься по поводу невозможности использовать в них пхп-код.

Если же все таки очень хочется - меняй template engine...
 

Poster

Новичок
Groove
, все так в принципе и делаю.

возникли вопросы, ибо в первый раз с шаблонами дело имею.

Спасибо.

-~{}~ 26.08.05 11:20:

И вот все-таки возникают еще проблемы.

при выводе "сетки" изображений нужно открывать pop-up_window с большим изображением.

PHP:
$print .= "<a href=javascript:CenterWindow('popup.html','sertificate',".$wi.",".$he.",'yes','resizable');><img src='/img/".$img['prev']."' width=105 height=118 border=0 ></a>";
Как можно передать javascript'у _какую_ картинку нужно показать?

Ведь в шаблоне popup.html php-код не обрабатывается.

Есть альтернативные варианты здесь?

спасибо
 
Сверху