Попробуйте что-то вроде этого:
<?php
function template($file, $data = array())
{
ob_start();
extract($data);
include_once 'path/to/theme/folder/' . $file . '.php';
return ob_get_clean();
}
// Assign values to the template file
$values['theme_type'] = 'default';
$values['bg_color'] = '#FFFFFF';
$values['bg_image'] = 'path/to/bg/image.jpg';
$values['font_face'] = 'Tahoma, Arial, Verdana';
$values['font_size'] = '12px';
$values['font_color'] = '#000000';
// And so on...
// Output template file
echo template('theme_layout', $values);
?>
И файл theme_layout.php
в 'path/to/theme/folder/theme_layout.php'
должен выглядеть следующим образом:
<html>
<head>
<title>Theme Name</title>
<style type="text/css">
body {
background-color: <?php echo $bg_color; ?>;
background-image: url(<?php echo $bg_image; ?>);
font-family: <?php echo $font_face; ?>;
font-size: <?php echo $font_size; ?>;
font-color: <?php echo $font_color; ?>;
}
</style>
</head>
<body>
Theme type is: <?php echo $theme_type; ?>
</body>
</html>
Обновление
Вы правы, что это была только концепция, вот что вам нужно сделать: добавить новую таблицу, например, в базу данных user_themes
и сохранить там все значения, относящиеся к пользователю.Например, пользователь заходит на страницу администратора и видит параметры темы, такие как BG Color / Image, Font Name / Size / Color и вводит свои собственные значения там ... Форма отправляется, а значения сохраняются в базе данных.Затем во время отображения темы (где я назначил значения для файлов шаблонов) вы получаете введенные пользователем параметры темы из базы данных и назначаете в качестве значений темы.
Я действительно не понимаю, где jQuery следует использовать здесь, может бытьв форме, где пользователь отправляет свои параметры.
Надеюсь, что это полезно.