PDA

Просмотр полной версии : разделение разметки и программного кода


VandA
31.10.2005, 19:10
Информационная система состоит из нескольких страниц все страницы имеют одинаковую разметку например таблица из двух колонок в одной постоянные ссылки а в другой основная часть контент которой постоянно меняется например на одной странице выводятся данные из одной таблицы базы данных на другой другие данные.
Кому не сложно подскажите пож как сделать так чтобы не вставлять элементы разметки каждый раз в код а сделать отдельный файл только с разметкой и зАвести там например переменную {content} и присваивать ей различные значения на других страницах!!!
если можно покажите на мелком примере как это должно выглядить
ЗАРАНЕЕ СПАСИБО

Skubent
31.10.2005, 19:20
Шаблоны рулят.
Файл шаблона:
разметка всякая, теги всякие...%%CONTENT%% теги всякие...

Парсер:
$template = "template.file";
$f = fopen($template);
$str = fread($f, filesize($template));
$output = str_replace("%%CONTENT%%", "данные однако", $str);
echo $output;

VandA
31.10.2005, 19:56
спасибо за ответ это я уяснила остался тока вопрос насчет "данные однако" если эти данные не одна переменная а куча всего к примеру несколько таблиц с данными то как тогда обозначить этот кусок пхп кода?

Nirva
01.11.2005, 03:45
http://smarty.php.net

ffffff
01.11.2005, 05:42
Шаблоны рулят.
Файл шаблона:
разметка всякая, теги всякие...%%CONTENT%% теги всякие...

Парсер:
$template = "template.file";
$f = fopen($template);
$str = fread($f, filesize($template));
$output = str_replace("%%CONTENT%%", "данные однако", $str);
echo $output;



слшай, я так же делаю всё время :)))) реально :))) гы. брат :) тока все этот способо засирают из-за высокого потребления памяти и процессорного времени...

Skubent
01.11.2005, 11:20
ffffff, я что, должен полностью оптимизированный код давать ? :)

VandA, да точно так же...
$data_adnaka = "12";
....
$data_adnaka .= "adsasdsad"
Ну и так далее.

ninja_127
01.11.2005, 15:59
можно без реплэйсинга обойтись
просто регистрировать одни и те же переменные для разных частей шаблонов

Skubent
01.11.2005, 17:20
Тогда файл шаблона верстальщик без подготовки не сделает.

juggy
02.11.2005, 16:51
http://smarty.php.net
Nirva, ты садист.

Полным полно есть шаблонизаторов вроде EasyTemplate, FastTemplate.

http://spectator.ru/technology/php/easy_templates — вот статейка про шаблоны. Слабая, но для новичков в самый раз.

А если говорить о том как бы идеально разделить программинг и аутпут, то можно использовать XML+XSL.

juggy
02.11.2005, 16:51
но XML+XSL, это такой же садизм как и smarty

-MS-
02.11.2005, 17:12
smarty - это хорошо :)

Nirva
02.11.2005, 19:30
но XML+XSL, это такой же садизм как и smarty
и все они г.. =)
шутка, конечно. или смарти или xml/xsl. таков наш путь.

Gaen
03.11.2005, 02:35
в разделе готовые решения валяется класс темплейта, самописный, простой и рабочий

Cherry Twist
04.11.2005, 19:14
раз (http://smarty.php.net/download.php) и
два (http://smarty.php.net/distributions/manual/ru/Smarty-2.6.9-docs.pdf)