Чтобы сделать ЧПУ взял за основу статью DeepVarvar'a. Вот как эти модули включить в нужное мне место, я тут понял, что этот самый controller нужно подключить в нужный мне блок, но у меня тут такой вопрос, как в функцию str_replace подключить другую функцию, либо вообще результат запроса БД?
Вот шаблонизатор
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?
- class Template{
- private $dir = './templates/'; // папка с шаблонами
- private $template; // шаблон
- function __construct(){
- $this->conf = Config::getInstance();
- }
- function load($name){ // загрузка шаблона
- if (!is_dir($this->dir.$name)) $name = 'default'; // если шаблона не существует, то подключить стандартный шаблон
- $this->template = file_get_contents($this->dir.$name.'/'.'main.tpl'); // подключение главного шаблона
- // сканирование папки с шаблоном для определения подключаемых щаблонов
- foreach ($scan as $file){
- }
- }
- // создание шаблона
- for ($i=0; $i<count($tpl); $i++){
- $this->template = str_replace(strtoupper('{'.$tpl[$i].'}'),file_get_contents($this->dir.$name.'/'.$tpl[$i].'.tpl'), $this->template);
- }
- // подключение css
- $this->template = str_replace('CSSURL', $this->conf->get('main','url').'/templates/'.$name.'/css/style.css', $this->template);
- return $this->template;
- }
- function set($key, $value){
- // установка переменной
- $this->vars[$key] = $value;
- }
- function get(){
- foreach($this->vars as $k=>$v){
- }
- echo $this->template;
- }
- }
- ?>