1:допустим в .txt файле будет находится стандартный HTML код, и нужно сделать чтобы данный код вставлялся в каждый PHP документ.
2:типо так...
<?php
dant.=$text,$form;
?>
а в html документе было
<html><head><title>test</title></head>
<body>
%dant%
</body>
</html>
P.S.Я я знаю что нужно писать функции которые будут это обрабатывать, но что и как именно не знаю.
буду очень признателен за вашу помощь
Спустя 7 минут, 29 секунд (28.04.2010 - 15:18) xotabb написал(а):
очень надеюсь на вашу помощь...
P.S.зарание спасибо
P.S.зарание спасибо
Спустя 9 минут, 52 секунды (28.04.2010 - 15:28) mihai написал(а):
да поддерживаю автора хотелось бы разобраться с созданием шаблонов
а то уж очень всё сложно написано, фунции , классы, хотелось бы с начала попроще
а то уж очень всё сложно написано, фунции , классы, хотелось бы с начала попроще
Спустя 1 минута, 46 секунд (28.04.2010 - 15:30) waldicom написал(а):
Совет атору топика: в подписи шрифт должен быть еще жирнее и еще больше и цвет поядовитее. Да и картинки побольше ставьте.
И почему на аватарчке тема сисег не раскрыта?
И почему на аватарчке тема сисег не раскрыта?
Спустя 2 минуты, 48 секунд (28.04.2010 - 15:33) xotabb написал(а):
думаю так тебе больше понравится!
Спустя 40 секунд (28.04.2010 - 15:34) waldicom написал(а):
Цитата (xotabb @ 28.04.2010 - 14:33) |
думаю так тебе больше понравится! |
Супер! А аватарчик?
Спустя 1 минута, 9 секунд (28.04.2010 - 15:35) xotabb написал(а):
а что с ним не так?
Спустя 7 минут, 37 секунд (28.04.2010 - 15:42) Семён написал(а):
Зачем пингвина насиловать, он гораздо добрее и лучше!!!
По теме: воспользуйся готовым и наверно лучшим решением - Smarty
По теме: воспользуйся готовым и наверно лучшим решением - Smarty
Спустя 3 минуты, 28 секунд (28.04.2010 - 15:46) xotabb написал(а):
зачем использовать чьёто, когда лучше сделать самому!
вот набросок есть
вот набросок есть
//шаблон
global $template;
//==================================================//
/*
Инициализация шаблонов
*/
function InitDesign($name,$wapver,$fatal=true){
global $path_template,$nrowpage;
$content=@file($path_template."/".$name.$wapver.".txt");
if(empty($content))
if($fatal)NotFound("Not design ".$name.$wapver); else return array();
$elem=explode("|",$content[0]);
if(!empty($elem[1]))$nrowpage=(int)$elem[1];
$ncontent=count($content);
for($j=1;$j<$ncontent;$j++){
$line=trim($content[$j]);
if(empty($line))continue;
$pos=strpos($line,":==");
if($pos===false){
$template[$name].=$line;
continue;
};
$name=substr($line,0,$pos);
$value=substr($line,$pos+3);
$template[$name]=$value;
};//for
return $template;
};
Спустя 6 минут, 14 секунд (28.04.2010 - 15:52) waldicom написал(а):
Цитата (xotabb @ 28.04.2010 - 14:46) |
зачем использовать чьёто, когда лучше сделать самому! |
Оффтопчик
Что у Вас за браузер сейчас и какая ось стоит? А проц какой? Шо, купленный?
о, еще один обиженный и обделенный поставил минус в карму... давай ишо!
Спустя 3 минуты, 14 секунд (28.04.2010 - 15:55) xotabb написал(а):
waldicom не обижайся. просто слишком много притеньзий. мне написали нормально в личку и я сменил. а форум **** зачем?
Спустя 41 секунда (28.04.2010 - 15:56) xotabb написал(а):
а теперь пишим по теме
Спустя 1 минута, 41 секунда (28.04.2010 - 15:58) Семён написал(а):
Пример
Есть у нас скриптовой файл test.php: который зависит от некого класса $core, в которой мы будем добавлять значения массива.
Есть у нас скриптовой файл test.php: который зависит от некого класса $core, в которой мы будем добавлять значения массива.
<?php
$myvar = 'itworks';
$core->add('#myvar#',$myvar);
$core->add('#another#','123');
$core->display('1.txt');
/*
В классе core ты должен произвести подсчёт элементов массива.
Затем в нём же открываешь свой 1.txt (для этого display) и проходишь циклом заменяя элементами твоего массива.
Поищу дома старые наработки шаблонизатора, правда у меня так и не получилось нормально сделать перебор цикла на шаблоне
*/
?>
Спустя 6 минут, 45 секунд (28.04.2010 - 16:04) xotabb написал(а):
поищи, у меня есть 1 от хорошего программиста, но сам в нём так и не разобрался
Спустя 14 минут, 33 секунды (28.04.2010 - 16:19) xotabb написал(а):
жду новых предложений,
либо готового кода с коментариями...
похоже я слегка грубо выразился
либо готового кода с коментариями...
похоже я слегка грубо выразился
Спустя 16 минут, 27 секунд (28.04.2010 - 16:35) twin написал(а):
Цитата |
жду новых предложений, |
Выкинуть и забыть как страшный сон саму идею шаблонизации.
Для чего этот лишний головняк?
Спустя 1 минута, 33 секунды (28.04.2010 - 16:37) waldicom написал(а):
Цитата (twin @ 28.04.2010 - 15:35) |
Выкинуть и забыть как страшный сон саму идею шаблонизации. Для чего этот лишний головняк? |
Твин, поработай надо большими проектами, где программер - это программер, дизайнер - это дизайнер, а верстальщик - это верстальщик
Спустя 2 минуты, 15 секунд (28.04.2010 - 16:39) twin написал(а):
Да работаю я... А СМАРТИ не шибко то дело поправляет. Там та же логика, только хуже гораздо.
Я давным давно схему предложил из натива и деления шаблонов. Ни логики там, ни суррогатов. Все предельно прозрачно.
Я давным давно схему предложил из натива и деления шаблонов. Ни логики там, ни суррогатов. Все предельно прозрачно.
Спустя 2 часа, 29 минут, 34 секунды (28.04.2010 - 19:09) xotabb написал(а):
это нужно мне для того чтобы облегчить свой труд, и не писать 200раз 1код в каждой странице.
а чужой код я принципиально не смогу использовать, тк. я такой человек(использую только свой код) такой я человек...
а чужой код я принципиально не смогу использовать, тк. я такой человек(использую только свой код) такой я человек...
Спустя 38 секунд (28.04.2010 - 19:09) xotabb написал(а):
и ещё вопрос, что тут за группы? каков вообще их смысл?
Спустя 57 минут, 23 секунды (28.04.2010 - 20:07) buschrutt написал(а):
для начала давайте определимся что есть шабонизатор... я так понимаю нужно вставлять не в одну а в каждую страницу свой шаблон (может их несколько на сайт).. а в шаблоны подставлять динамический контент... на какую глубину копаем??
если это то что ты спрашиваешь то могу тут свой показать с разъяснениями ... естественно до комерческого тут как до китая... но все работает вроде
если это то что ты спрашиваешь то могу тут свой показать с разъяснениями ... естественно до комерческого тут как до китая... но все работает вроде
Спустя 40 минут, 58 секунд (28.04.2010 - 20:48) xotabb написал(а):
покажи,если не сложно
Спустя 35 минут, 25 секунд (28.04.2010 - 21:23) buschrutt написал(а):
Я сделал так:
При создании страницы сайта из админки делается следующее:
1. В БД заносится информация о соответствии ID страницы к шаблону, соответствии ID страницы номерам встраиваимых в шаблон модулей, пути к странице внутри каталога www.
2. Создается каталог с названием страницы (оно соответствует номеру ID.
3. Создается внутри каталога страница index.php со следующим кодом.
С config.php думаю все понятно.
Вот start.php:
PS: я сам только учусь и данный код вполне возможно не совершенен
буду признателен за замечания
При создании страницы сайта из админки делается следующее:
1. В БД заносится информация о соответствии ID страницы к шаблону, соответствии ID страницы номерам встраиваимых в шаблон модулей, пути к странице внутри каталога www.
2. Создается каталог с названием страницы (оно соответствует номеру ID.
3. Создается внутри каталога страница index.php со следующим кодом.
<?$pageID=1; //переменная с ID страницы
$outPath='../'; // путь к корню
include('../includes/mysql/config.php'); // включение файла с подключением к БД
include('../includes/site/start.php');?> // включение файла с подставлением шаблона и контента в шаблон
С config.php думаю все понятно.
Вот start.php:
<?
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_select_db ("db_pages",$dbcnx); // соединение с базой
$sql='SELECT * FROM pages_inf WHERE `id` = "'.$pageID.'"';// запрос строки страницы по ID страницы
$res = mysql_query($sql,$dbcnx);
while ($row=mysql_fetch_assoc($res)){
$pageName=$row[name];// запись в переменную имени страницы
}
$sql='SELECT * FROM pages_temps WHERE `page_ID` = "'.$pageID.'"';// выборка строки шаблона по ID страницы
$res = mysql_query($sql,$dbcnx);
while ($row=mysql_fetch_assoc($res)){
$tempID=$row[temp_ID];// запись в переменную ID шаблона для этой страницы
}
$sql='SELECT * FROM templates_inf WHERE `id` = "'.$tempID.'"';// выборка строки шаблона по ID шаблона
$res = mysql_query($sql,$dbcnx);
while ($row=mysql_fetch_assoc($res)){
$tempPath=$row[temp_path];// запись в переменную пути к шаблону страницы
}
//получение путей к контенту страницы
$j=0; //сброс счетчика
$sql='SELECT * FROM `'.$pageName.'`';// выборка строк всех включений в страницу $pageName
$res = mysql_query($sql,$dbcnx);
while ($row=mysql_fetch_assoc($res)){
$j=$j+1; // считаем количество включений
$incID[$j]=$row[includ_ID];// запись в элемент j массива ID включения
}
//получение пути к номерам включения
$j=0; //сброс счетчика
$sql='SELECT * FROM includ_inf';// запрос строк всех путей включений в главную страницу
$res = mysql_query($sql,$dbcnx);
while ($row=mysql_fetch_assoc($res)){
$j=$j+1;
$incPathT[$j]=$outPath.$row[path];// запись в элемент массива с индексом позиции пути со строки включения (они потом будут
//вставляться в шаблон)
}
$i=0; // в цикле присваиваем пути шаблонов в соответсвии с ID по порядку как они будут в шаблоне
while($i<$j){
$i=$i+1;
$pos=$incID[$i];
$incPath[$i]=$incPathT[$pos];
}
$uppTemp=$outPath.$tempPath;// получение пути к шаблону с учетом пути от корня
include("$uppTemp");// включение шаблона в страницу
PS: я сам только учусь и данный код вполне возможно не совершенен
буду признателен за замечания
Спустя 4 минуты, 29 секунд (28.04.2010 - 21:28) buschrutt написал(а):
вот собственно пример шаблона:
<?
if (!$incPath[1]){$incPath[1]=$outPath.'nullf.php';}; // проверяем если файла с включением нет то меняем на нулевой чтоб не было ошибки
if (!$incPath[2]){$incPath[2]=$outPath.'nullf.php';};
if (!$incPath[3]){$incPath[3]=$outPath.'nullf.php';};
if (!$incPath[4]){$incPath[4]=$outPath.'nullf.php';};
?>
<html>
<head>
<title>webinset</title>
<link href="<?echo $outPath;?>css/general.css" rel="stylesheet" type="text/css" charset="UTF-8">
</head>
<body>
<table class="main">
<tr>
<td colspan="3" class="tapef">
<?include("$incPath[1]");?> // первое включение (собственно контент)
</td>
</tr>
<tr>
<td class="mleft">
<?include("$incPath[2]");?> // второе включение
</td>
<td class="mcenter">
<?include("$incPath[3]");?> // третье включение
</td>
<td class="mright">
<?include("$incPath[4]");?> // четвертое включение
</td>
</tr>
</table>
</body>
</html>
Спустя 1 час, 51 минута, 11 секунд (28.04.2010 - 23:19) xotabb написал(а):
можно подумать
_____________
if (isset($beer)) drink($beer) ;