ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Как сделать систему шаблонов?
  #1  
Старый 03.01.2010, 16:58
Аватар для Fantom3D
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
Провел на форуме:
63389

Репутация: 1
Отправить сообщение для Fantom3D с помощью ICQ
Question Как сделать систему шаблонов?

Я создаю свой сайт. И мне нужно создать систему шаблонов. Чтобы вместо images, index.php в корне это было в /styles/Название шаблона/тут и чтобы шаблоны можна было быстро менять через админку. Я что-то не понимаю, как такое реализовать, подскажите плиз =)
 
Ответить с цитированием

  #2  
Старый 03.01.2010, 17:14
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Smarty в помощь
 
Ответить с цитированием

  #3  
Старый 03.01.2010, 17:16
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Юзай шаблонизаторы, smarty, к примеру.
Лично я выдирал класс из DLУ и юзал.
У меня даже в книге какой-то по пыху есть глава, посвященная созданию собственного простого шаблонизатора
 
Ответить с цитированием

  #4  
Старый 03.01.2010, 17:16
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Вариантов много по сути,самый просто,это просто чтение шаблонов.
То есть,ты выбираешь шаблон, далее он открываеться,например file_get_contsnts(), в нем уже есть предустановленные переменные,например в таком виде(мне удобнее так,чтобы если на не задействована,то и на экране не отображалась), <!--{TITLE}-->,<!--{HEADER}-->, ну и тд.Заменяеш переменные,и выводиш на экран,просто обзавстись парочкой функция нужных и все.
 
Ответить с цитированием

  #5  
Старый 03.01.2010, 17:36
Аватар для Fantom3D
Fantom3D
Познающий
Регистрация: 23.08.2009
Сообщений: 47
Провел на форуме:
63389

Репутация: 1
Отправить сообщение для Fantom3D с помощью ICQ
По умолчанию

smarty я не особо понял, да и мне интерестно самому все сделать...

m0Hze
А можно, пожалуйста, поподробнее. Я вроде как еще новичек. =)
 
Ответить с цитированием

  #6  
Старый 03.01.2010, 17:58
Аватар для LStr1ke
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

Я бы делал так например.
Создал основной файл, где идет замена строк на вывод из БД...
Например:
content.php
PHP код:
<?php  
$style 
"black_cat"

$title "Заголовок страницы"
$header "Крутая страница"
$text "Тут короче всякий текст"
$content file_get_contents($style."/page.html");

$content preg_replace("#__TITLE__#",$title,$content);
$content preg_replace("#__HEADER__#",$header,$content);
$content preg_replace("#__TEXT__#",$text,$content);

echo 
$content;
?>
Там же папка black_cat, где лежит файл page.html:
PHP код:
<html>
<
head>
<
title>__TITLE__</title>
</
head>
<
body>
<
h1>__HEADER__</h1><br />
<
i>__TEXT__</i>
</
body>
</
html
Короче файл будет content.php будет заменять строчки __УКАЗАТЕЛЬ__ на вывод соотв. данных. Тоесть при создании шаблона конструируешь его код и в нужных местах ставшь указатели на вывод какнкретных данных. Конечно я привел бональный вариант...
В результате будет:

Последний раз редактировалось LStr1ke; 03.01.2010 в 18:00..
 
Ответить с цитированием

  #7  
Старый 03.01.2010, 18:19
Аватар для Airborn
Airborn
Новичок
Регистрация: 09.08.2008
Сообщений: 3
Провел на форуме:
15163

Репутация: 10
По умолчанию

Цитата:
Сообщение от LStr1ke  
Я бы делал так например.
Создал основной файл, где идет замена строк на вывод из БД...
Например:
content.php
PHP код:
<?php  
$style 
"black_cat"

$title "Заголовок страницы"
$header "Крутая страница"
$text "Тут короче всякий текст"
$content file_get_contents($style."/page.html");

$content preg_replace("#__TITLE__#",$title,$content);
$content preg_replace("#__HEADER__#",$header,$content);
$content preg_replace("#__TEXT__#",$text,$content);

echo 
$content;
?>
Там же папка black_cat, где лежит файл page.html:
PHP код:
<html>
<
head>
<
title>__TITLE__</title>
</
head>
<
body>
<
h1>__HEADER__</h1><br />
<
i>__TEXT__</i>
</
body>
</
html
Короче файл будет content.php будет заменять строчки __УКАЗАТЕЛЬ__ на вывод соотв. данных. Тоесть при создании шаблона конструируешь его код и в нужных местах ставшь указатели на вывод какнкретных данных. Конечно я привел бональный вариант...
В результате будет:
Юзать для таких целей регулярки - зло.Намного кощернее будет юзать strtr,str_replace.Кстати, mTemplater, выдерни от туда функцию для обработки шаблона и все.
_http://m0hze.ru/files/mtemplater.class.php
PHP код:
include('mtemplater.class.php');
$tpl = new mTempalter('tpl''tpl_c', array('right' => '}-->','left' => '<!--{'),$_SERVER['REMOTE_ADDR']);
$tpl->create_tpl('index',array('LILO' => 'HEllo, admin!'));
$tpl->display();
//$tpl->clear_dir_if_ip(); 
Аля заменитель строк в виде класса,удобно указывать разделители.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Delphi, .NET, Asm 6762 17.06.2010 21:23
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Как стать админом ICQ (c) yarrak InfernoNet Болталка 77 06.08.2009 15:15
Как своими руками сделать принтер HP LaserJet 1300 совместимым с расходниками LJ 1200 dinar_007 Аппаратное обеспечение 2 08.09.2006 00:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ