Я создаю свой сайт. И мне нужно создать систему шаблонов. Чтобы вместо images, index.php в корне это было в /styles/Название шаблона/тут и чтобы шаблоны можна было быстро менять через админку. Я что-то не понимаю, как такое реализовать, подскажите плиз =)
Юзай шаблонизаторы, smarty, к примеру. Лично я выдирал класс из DLУ и юзал. У меня даже в книге какой-то по пыху есть глава, посвященная созданию собственного простого шаблонизатора
smarty я не особо понял, да и мне интерестно самому все сделать... m0Hze А можно, пожалуйста, поподробнее. Я вроде как еще новичек. =)
Я бы делал так например. Создал основной файл, где идет замена строк на вывод из БД... Например: 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(); Аля заменитель строк в виде класса,удобно указывать разделители.