Цитата:
Сообщение от Minimajack
Код:
class Welcome extends Site_Controller {
function Welcome()
{
parent::Controller();
$this->load->helper('url');
}
function index()
{
$template = $this->config->item("template");
$params = array
(
'title' => 'Test page',
'template' => $template
);
$this->display($template, 'main', $params);
}
}
MY_Controller.php
Код:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Site_Controller extends Controller
{
function Site_Controller()
{
parent::Controller();
}
function display($template, $page, $params, $templtype = 'sws_loader')
{
$this->load->helper('language');
if (!is_array($params))
return "Error! Please, check that params included in array";
$main_title = $this->config->item("main_title");
$params['title'] = $main_title." - ".$params['title'];
if (!$params['lang'])
$params['lang'] = $this->config->item("language");
$params['url'] = base_url();
$this->lang->load('main' ,$params['lang']);
$_loader = $this->load->view($template."/".$templtype, '',true);
$_loadorder = explode("|", $_loader);
foreach($_loadorder as $key => $value)
{
if (strpos($value, '_dynpartofview_'))
$this->load->view($template."/".trim($page), $params);
else
$this->load->view($template."/".trim($value), $params);
}
return true;
}
}
/* End of file MY_Controller.php */
/* Location: ./system/application/libraries/MY_Controller.php */
1. если уж используешь хелпер lang, будь добр замени в шаблонах все по типу lang['main_powered'] на lang('main_powered') (это как бы намек на ошибку)
2. убери пробел после динчасти... а то у меня замечательно пробел приплюсовывался к футеру и искался файлик с пробелом в имени(результат еррор)
Код:
header|
_dynpartofview_|
footer
3. шорттэги зло...
4. желаний копать чужой код никогда не возникало
5. работает
|
На счет первого пункта. Ты бы посмотрел что там я не обычную функцию юзаю
а свою. Как то не хочется вызывать 500 раз эту фукнцию.
На счет пункта 2, приплюсоваться пробел в футере никак не может, ибо юзаю функцию трим. Конечно не очень сделал "профессионально"
sws_loader но за то просто
Кстати нахрена ты передавать в функцию дисплей переменную $templtype = 'sws_loader' если она так всегда и будет равна?) Кстати вариант совсем не плохой если обьединить темплейт модель и контроллер.
Цитата:
Сообщение от tempura
гыг...
какой дизайн-то знакомый. Там еще штук пять (или больше) сменных шапок было, в т.ч. на флеше.
|
Так я ж говорил) дизайн не мой)
P.S: сегодня придумал немного другой механизм реализации шаблонов
Приду - сделаю.