Спустя 37 минут, 9 секунд (28.12.2011 - 22:04) inpost написал(а):
johniek_comp
Какой нужен, такой и подключай. Не забудь проверить на существование файла под №1, и правильность запроса, чтобы в адресной строке нельзя было записать другой файл, к которому автоматически будет подключен.
Какой нужен, такой и подключай. Не забудь проверить на существование файла под №1, и правильность запроса, чтобы в адресной строке нельзя было записать другой файл, к которому автоматически будет подключен.
Спустя 9 минут, 43 секунды (28.12.2011 - 22:13) johniek_comp написал(а):
inpost
так как это сделать? как в cms это реализовано не скажешь?
так как это сделать? как в cms это реализовано не скажешь?
Спустя 38 минут, 40 секунд (28.12.2011 - 22:52) Игорь_Vasinsky написал(а):
ну ты установи к примеру WP и глянь - ни чё сложного, вроде на ирбисе есть инфо
Спустя 14 часов, 13 минут, 12 секунд (29.12.2011 - 13:05) johniek_comp написал(а):
Игорь_Vasinsky
не нашел на ирбисе. там вроде такого и не было, ну под мою задачу точно
не нашел на ирбисе. там вроде такого и не было, ну под мою задачу точно
Спустя 7 часов, 9 минут, 47 секунд (29.12.2011 - 20:15) Shadez написал(а):
Если используется одна точка входа в приложение, грузить шаблон в зависимости от контроллера, если несколько - задавать в файле имя шаблона.
Если нужна возможность смены темы, хранить её в конфиге или в базе (сопоставив с путем папки шаблонов, разумеется).
Если нужна возможность смены темы, хранить её в конфиге или в базе (сопоставив с путем папки шаблонов, разумеется).
<?php
define('TEMPLATES_DIR', 'templates');
///
abstract class Controller
{
protected $m_templateName = 'default.tpl';
public function template()
{
// Some actions
ob_start();
include(TEMPLATES_DIR . DIRECTORY_SEPARATOR . $this->m_templateName);
$data = ob_get_contents();
ob_clean();
return $data;
}
}
class Home extends Controller
{
protected $m_templateName = 'home.tpl';
}
class Login extends Controller
{
protected $m_templateName = 'login.tpl';
}
class Error404 extends Controller
{
protected $m_templateName = 'error.tpl';
}
////
if (isset($_GET['page']))
{
switch ($_GET['page'])
{
case 'home':
$controller = new Home();
case 'login':
$controller = new Login();
break;
default:
$controller = new Error404();
break;
}
}
else
$controller = new Home();
echo $controller->template();
unset($controller);
Спустя 2 часа, 27 минут, 28 секунд (29.12.2011 - 22:42) Игорь_Vasinsky написал(а):
:D :D :D :D ну скока раз говорить... без абстракных классов - ему не подойдёт ;)
Цитата |
DIRECTORY_SEPARATOR |
у меня круче
THIS_IS_MY_DEFINED_CONSTANT_FROM_ANY_DIRECTORY_SEPORATORS
Спустя 11 минут, 18 секунд (29.12.2011 - 22:54) TranceIT написал(а):
У меня сделано так:
Структура папок
/skins/default
/skins/red
/skins/blue
...
Просто изменяя TEMPLATE у меня изменяется шаблон.
define ('TEMPLATE', 'default') // Выбор шаблона
Структура папок
/skins/default
/skins/red
/skins/blue
...
Просто изменяя TEMPLATE у меня изменяется шаблон.
_____________