Forum Webscript.Ru

Программирование => PHP => Тема начата: andtar от 20 Июня 2002, 09:06:11

Название: Шаблоны(2)
Отправлено: andtar от 20 Июня 2002, 09:06:11
с описанием класса class.Template.php не подходит. Т.к. я не могу писать другие скрипты, только html текст

Допустим скрипт состоит из двух частей function d() и fubction s() и как к каждой функции привязать шаблон?:confused:  

у кого динамические сайты, тот наверняка без шаблонов не работает
Название: Шаблоны(2)
Отправлено: Stek от 20 Июня 2002, 11:13:55
Сайт динамисческий, работаю с шаблонами .. с тем же FatstTemplate

Вопрос не понятен просто
Название: Шаблоны(2)
Отправлено: AlieN от 20 Июня 2002, 11:24:14
andtar
Вариантов много, первые которые пришли на ум:
1)

$a=new template();
function b()
{
global $a;
}
function d()
{
global $a;
}

2)

function b($a)
{
$a=new template();
return($a);
}
function d($a)
{

}
$a=b($a);
d($a);
Название: Шаблоны(2)
Отправлено: andtar от 20 Июня 2002, 11:54:05
раскажу по подробнее:
у меня 1 шаблон, в котором прописаны $title; $head; $main.
$title - понятно что
$head - заголовок
$main - главная часть, где всё расположено.


в php файле:


$title = "Заголовок";
$head = "$title";
$main=" ";
require_once "./class.Template.php";
$tpl = new Template("files");
$tpl->load("shablon");
ob_start();
$content = ob_get_contents();
ob_end_clean();
eval("\\$menu_vert = \\"".$tpl->get("shablon")."\\";");
eval("print \\"".$tpl->get("shablon")."\\";");
?>
 

может лишнего много?

в $main = " " я могу написать только HTML, но не новые php скрипты.
Как задать переменную $main, чтобы я мог ниже написать еще скрипты?
global $main;
?> - как-нибудь так...
Название: Шаблоны(2)
Отправлено: Stek от 20 Июня 2002, 13:46:35
Шаблон предназначен только для вывода, скриптов в нем просто не может быть.
Ты можешь подключить в шаблон другой шаблон, но не скрипт.
Название: Шаблоны(2)
Отправлено: .Sm@sH. от 20 Июня 2002, 13:52:22
А у меня сайт сделан легко и просто - и не мучаюсь. Приведу похожий пример:


// data.php
function start($title) {
?>

<?php echo($title); ?>

}
function end() {
?>

}
?>
 

Теперь пример страницы сайта:


require("data.php");
start("Главная страница");
?>
Это типа главная страница, и вы на моем сайте. Пишите тут что хотите, и т.д. и т.п.
end();
?>
Название: Шаблоны(2)
Отправлено: AlieN от 20 Июня 2002, 14:42:50
andtar
а причём тут функции ?
Опиши пожалуйста всё подброно
[OFF]может я торможу? :)[/OFF]
Название: Шаблоны(2)
Отправлено: .Sm@sH. от 20 Июня 2002, 14:53:10
Ну как причем?
На каждой странице я делаю require("data.php");
Потом вызываю 1-ю функцию, которая генерирует заголовок страницы, и ее верхнюю часть.
Далее идет только контент данной страницы.
А в конце функцией end(); я генерирую конец страницы.
Название: Шаблоны(2)
Отправлено: AlieN от 20 Июня 2002, 18:13:04
.Sm@sH.
Цитировать
andtar
а причём тут функции ?
Название: Шаблоны(2)
Отправлено: Макс от 20 Июня 2002, 20:04:13
.Sm@sH.
Такая структура неудобна для дизайнеров. Им для создания шаблонов нужны знания PHP. К тому же шаблоны типа
{HTML_TITLE}...
независимы от языка.

Я правда тоже подобным пользовался (толькоя простые include-ы делал), но в последнее время перешел на phplib/templates
Название: Шаблоны(2)
Отправлено: AlieN от 20 Июня 2002, 20:07:03
Макс
А я юзаю бритвенскую систему, правда переделал её на MySQL
и стилизовал управление шаблонами как в vBulletin
Название: Шаблоны(2)
Отправлено: GotZfild от 20 Июня 2002, 20:29:32
А по-моему, Smarty or eval() (в зависимости от размеров проекта) рулят.
Название: Шаблоны(2)
Отправлено: Admin q3 от 21 Июня 2002, 03:02:20
Цитировать
я юзаю бритвенскую систему, правда переделал её на MySQL
и стилизовал управление шаблонами как в vBulletin

А поподробнее
Название: Шаблоны(2)
Отправлено: andtar от 21 Июня 2002, 08:33:50
Цитировать
А поподробнее

это уже другая тема.

С шаблоном я разобрался: сделал 2 шаблона, 1 до $main; 2 - после $main, но сам $main уже не вписывал.

А все скрипты пишу между ссылками на те шаблоны. Пока этот способ удобнее