Ну, девелоперы, колитесь!

-faqer-

Я только учусь
Не знаю, может кому и интересно мое мнение
Откровенно говорю, что программирую на ПХП меньше 2 месяцев
Поэтому ни на что не претендую
Делая шаблон для доски объявлений, подошел к проблемме так.
Изначально решил, что шаблон должен содержать хтмэлоподобные тэги
Типа <doska title> <doska menu> <doska body>
Т.е. вместо них будут выводиться соответсвующие элементы доски
В основном к такому методу подходят как к перехвату на лету таких тэгов и замене их на соответствующую информацию
"Мы пойдем другим путем" сказал когда-то дедешка Ленин
Я сделал так
В админоском скрипте в текстареа выводится простой хтмл шаблона, без тэгов ПХП но с вышеуказанными тэгами <doska title> <doska menu> <doska body>
После того как шаблон редактируется и жмется кнопочка Submit при помощи pregi_replace шаблон сохраняется в template.php в таком виде
PHP:
<?
function tmpl_header($title, $menu)
{
...сурс шаблона с переменными $title, $menu
}
function tmpl_footer()
{
...сурс шаблона с переменными
}
?>
Недостатки конечно есть, зато быстро.
 

Tronyх

Новичок
визуального редактирования шаблонов НЕТ и не будет =)
ибо пускать неквалифицированного юзера в "дизайн" сайта, есть глупость несусветная =)
Тоесть чтобы отредактировать шаблон нужно его закачать через FTP, я правильно понял? Или редактирование происходит через texarea?

После того как шаблон редактируется и жмется кнопочка Submit при помощи pregi_replace шаблон сохраняется в template.php в таком виде
Я зделал почти также. В шаблоне есть инструкции такого типа:
1. <var CONTENT>, <var TEXT[1]['key']>.
2. <load file=имя_файла>
3. ...
Они заменятся соответствующим ПХП кодом (<var TITLE> = <?=$GLOBALS['TITLE']?>), затем отпарсиный шаблон (без "шаблонных" инструкций) сохраняется в папке кеша, а для его вывода используется банальный (но быстрый ;)) инклуд. Функция занимающаяся выводом шаблона, проверяет даты изменения "исходника" и отпарсиного шаблона, и если необходимо то заново вызывает функцию парсинга. Если кому интересен такой подход, то могу выслать/выложить где-нибудь, пока он не сильно "наворочен", но вполне рабочий. Кстати думаю, что у меня получилось реализовать удобную работу с блоками.
 

SeazoN

Guest
About CMS

<$php
require_once "plugin.php";
//Здесь описывается класс Plugin_Name extends Common
//require_once "common.php";

$common = New Plugin_Name;
$common->header();
$common->plugin($params);
$common->footer();
?>

Всё, Templates и DB и тд в Common
 
Сверху