Как сделать мою cms, которая может менять темы, такие как tumblr

Привет, ребята. Мне было интересно, как мне сделать параметры темы для моей cms, такой как tumblr? Я понимаю, как использовать такой код, как tumblr, {description}, {text} и подобные переменные, но как мне сделать такой переключатель тем в php?


person Zach    schedule 22.12.2010    source источник


Ответы (2)


Просто поместите переменную php в раздел head. Обязательно создайте $userCSSchoice в начале вашей страницы, иначе вы все сломаете! Рок!

<LINK REL=StyleSheet HREF="<?php echo $userCSSchoice; ?>.css" TYPE="text/css" MEDIA=screen>

Нет, серьезно, я делаю это, и это отлично работает для меня. Затем вам нужно создать все эти таблицы стилей css, но это не так уж сложно.

person Bryan    schedule 22.12.2010
comment
Смотрите мою альтернативу этому ниже. - person Dutchie432; 23.12.2010

Альтернативой является создание вашей CSS-страницы на PHP, чтобы вы могли передать переменную на один лист для определения стиля.

<link rel=StyleSheet href="styles.php?theme=<?php echo $userCSSchoice; ?>" type="text/css" media=screen>

Затем ваша страница PHP/CSS может определять цвета/изображения.

<?php
    header("Content-Type: text/css");

    if (isset($_REQUEST['theme']))
        $theme = $_REQUEST['theme'];
    else
        $theme="default";

    $bgImage="images/bg_".$theme.".png";    

    if ($theme=="default")
        $mainColor="0f8200";
    else if ($theme=="green")
        $mainColor="009900";

?>

body {
    background:url('<?php echo $bgImage; ?>')  repeat-x #<?php echo $bg; ?>;
    color: #<?php echo $mainColor; ?>;
}
person Dutchie432    schedule 22.12.2010
comment
Нет, я имею в виду что-то более продвинутое, чтобы любой мог сделать полностью новую html-версию и просто использовать переменные, такие как tumblr. - person Zach; 23.12.2010
comment
Вы говорите о написании фреймворка, судя по тому, как это звучит. это совсем другой вопрос. - person Dutchie432; 23.12.2010