Автор Тема: Темплейты  (Прочитано 14727 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Темплейты
« Ответ #30 : 04 Апреля 2002, 17:04:16 »
AlieN
Цитировать
echo $t->template["output"];

вывод результирующей странички из "output", которая, в свою очередь, создается с помощью:
Цитировать
$t->add("output", "002", array(    "title"            => "test page",
                                "charset"        => $charset,
                                "links"            => $t->template["links"]));

и файла шаблона 002.html.

более подробно пиши, что не понятно.
с уважением,
магистр белой магии.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Темплейты
« Ответ #31 : 04 Апреля 2002, 17:23:07 »
Dm
Ты можешь описать построчно ???

PS: дико торможу
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Темплейты
« Ответ #32 : 04 Апреля 2002, 17:32:59 »

<?
class 
template {
	
var 
$template_dir
	
=
	
\
'./templates/\';
	
var $ext
	
	
=
	
\'.html\';
	
var $template
	
	
=
	
array();
	
var $templates
	
	
=
	
array();

	
function load($names) {
	
	
$names = explode("|", $names); // получение имен загружаемых шаблонов
	
	
foreach($names as $name) {
	
	
	
$fl = file($this->template_dir.$name.$this->ext); // читаем файл с шаблоном
	
	
	
$this->templates[$name] = implode("", $fl); // сохраняем в массиве
	
	
}
	
}

	
function add($id_tpl, $name_tpl, $data_tpl) {
	
	
extract($data_tpl); // см. ман
	
	
if(isset($this->template[$id_tpl])) { $p = "."; } else { $p = " "; } // если такой id результат существует, добавляем, иначе - создаем.
	
	
eval(\'$this->template[$id_tpl]\'.$p.\'= "\'.addslashes($this->templates[$name_tpl]).\'";\'); // производим замену переменных и запись в массив с результатами
	
	
$this->template[$id_tpl] = str_replace("\\\'", "\'", $this->template[$id_tpl]);
	
}
}
?>


ps. надеюсь, так будет понятнее.
с уважением,
магистр белой магии.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Темплейты
« Ответ #33 : 04 Апреля 2002, 17:36:10 »
Понял спасибо!
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Темплейты
« Ответ #34 : 04 Апреля 2002, 20:15:07 »
Цитировать
$this->template[$id_tpl] = str_replace("\'", "\'", $this->template[$id_tpl]);

обнаружил баг в выводе этого кода в форуме.
одним словом, в этой строчке необходимо произвести замену одинарной кавычки со слешем (\\\\\') на кавычку (\') без слеша.
с уважением,
магистр белой магии.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Темплейты
« Ответ #35 : 05 Апреля 2002, 19:15:53 »
Dm
Поизучав я в коде бритвы одну вещь не понял но работает он лучше
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Темплейты
« Ответ #36 : 06 Апреля 2002, 02:18:35 »
AlieN
пиши подробнее, что именно?
с уважением,
магистр белой магии.

Оффлайн Kuulest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Темплейты
« Ответ #37 : 06 Апреля 2002, 13:32:39 »
function gettemplate($template,$endung="htm")
      {
         global $templatefolder;
         if(!$templatefolder) $templatefolder = "templates";
         return str_replace("\\"","\\\\\\"",implode("",file($templatefolder."/".$template.".".$endung)));
      }

      function dooutput($template)
      {
         global $td_bgColor, $td_textColor ;
         $template = str_replace("bgcolor=\\"title\\"","bgcolor="."$td_bgColor",$template);
         $template = str_replace("color=\\"title\\"","color="."$td_textColor",$template);
         echo $template;
      }


V function1 mojesh delat viborku iz bazi.. prinzip yasen
I bet you knew it !!

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Темплейты
« Ответ #38 : 06 Апреля 2002, 13:46:27 »
Kuulest
А другие переменные из шаблона интеплетироваться будут?
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Kuulest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Темплейты
« Ответ #39 : 06 Апреля 2002, 13:55:28 »
Vse peremenniye yavlyayushiyasya globalnimi pri vizove function parsyatsya..to est

$data=\'12 Jan 2001\';
dooutput(....)
v temptlate pishesh $data;
I bet you knew it !!

Оффлайн Kuulest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
naschet bgcolor color
« Ответ #40 : 06 Апреля 2002, 13:58:02 »
ya eto delo ispolzuyu chtobi  izmenenie zvetov i prochaya mura ne stanovilis pitkoy,  znachenie peremennih bgcolor,l_color(link) nahodyatsya v file globals.inc
I bet you knew it !!

Оффлайн Kuulest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Sorry za flud prosto.. horoshaya mislya prihodit oposlya
« Ответ #41 : 06 Апреля 2002, 14:00:30 »
Vot bolee ponyatniy variant

function gettemplate($template,$endung="htm")
{
global $templatefolder;
if(!$templatefolder) $templatefolder = "templates";
return str_replace("\\"","\\\\\\"",implode("",file($templatefolder."/".$template.".".$endung)));
}

echo gettemplate($template);
I bet you knew it !!

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Темплейты
« Ответ #42 : 06 Апреля 2002, 14:10:48 »
Kuulest
следовательно чтобывыплюнуть один шаблон мне требуется вот что:
$template=gettemplate("blabla");
echo gettemplate("blabla");

верно?
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Kuulest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Vot jivoy primer
« Ответ #43 : 06 Апреля 2002, 15:19:49 »
//Taking Current Date
     $date= (date ("l, F j, Y"));
//Template Folder:
     $templatefolder=\'../../pars/eng/templates/catalogue/\';
//Producing Output:
     eval("dooutput(\\"".gettemplate("catalogue_main")."\\");");
I bet you knew it !!

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Темплейты
« Ответ #44 : 06 Апреля 2002, 16:00:20 »
Kuulest
Да с этим я уже разобрался:
я класс бритвы решил использовать
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28