Изменение стиля сайта используя PHP
Вы хотите, чтобы пользователь мог выбирать любой стиль сайта? Если ДА, то этот урок для Вас. В этом уроке мы научимся создавать пользовательское изменение стиля сайта. Для этого нам понадобится только знание PHP.
Допустим, что у нас есть 4 таблицы стилей:
blue.css
red.css
black.css
yellow.css
blue.css - это наш стиль по-умолчанию.
Для того, чтобы выбранный пользователей стиль не менялся при переходе на другие страницы, мы будем использовать сессии. Сессии хранят информацию в браузере, но в отличие от Cookies они удаляться сразу после закрытия браузера. Для начала сессии используем следующий код.
session_start();
Размещать код открытия сессии необходимо выше всех тегов, даже тегов типа документа. Не забудьте разместить код на всех страницах сайта.
Теперь будем создавать переключатель стилей. Именно он будет переключать стили.
if(isset($_GET['css'])){
switch ($_GET['css']) {
case 'red':
$stylesheet = '<link rel="stylesheet" type="text/css" href="/style /red.css">';
$_SESSION['switchcss']=$stylesheet;
break;
case 'yellow':
$stylesheet = '<link rel="stylesheet" type="text/css" href="/style /yellow.css">';
$_SESSION['switchcss']=$stylesheet;
break;
case 'black':
$stylesheet = '<link rel="stylesheet" type="text/css" href="/style /black.css">';
$_SESSION['switchcss']=$stylesheet;
break;
// наш стиль по умолчанию
default:
$stylesheet = '<link rel="stylesheet" type="text/css" href="/style/blue.css">';
$_SESSION['switchcss']=$stylesheet;
}
}
Как вы можете увидеть, у нас есть 3 случая.
case 'red' case 'yellow' case 'black'
Каждый из них содержит код;
$stylesheet = '<link rel="stylesheet" type="text/css" href="">';
Но у каждого разные значения для HREF (место нахождения таблицы стилей). Последний стиль называется не case 'blue', а default. Так как он является стилем по умолчанию.
Следующая часть кода вставляется в теге <head>
echo ($_SESSION['switchcss'])? $_SESSION['switchcss']: '<link href="/ style /blue.css" type="text/css" rel="stylesheet">';
Этот код будет выводить ту сессию, какую выбрал пользователь. Соответственно будет отображаться тот стиль, какой выбрал пользователь.
Последний кусок кода вставляем там где Вы хотите разместить ссылки для изменения стиля.
Выберите стиль <a href="/style/<?php echo $_SERVER['PHP_SELF']; ?>?css=red">[red]</a> | <a href="/ style /<?php echo $_SERVER['PHP_SELF']; ?>?css=default">[blue]</a> | <a href="/ style /<?php echo $_SERVER['PHP_SELF']; ?>?css=yellow">[yellow]</a> | <a href="/ style /<?php echo $_SERVER['PHP_SELF']; ?>?css=black">[black]</a>
Вот и все.
Примерно так должен выглядеть весь код.
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Изменение стилей</title>
<?php
if(isset($_GET['css'])){
switch ($_GET['css']) {
case 'red':
$stylesheet = '<link rel="stylesheet" type="text/css" href="/style/red.css">';
$_SESSION['switchcss']=$stylesheet;
break;
case 'yellow':
$stylesheet = '<link rel="stylesheet" type="text/css" href="/style/yellow.css">';
$_SESSION['switchcss']=$stylesheet;
break;
case 'black':
$stylesheet = '<link rel="stylesheet" type="text/css" href="/style/black.css">';
$_SESSION['switchcss']=$stylesheet;
break;
default:
$stylesheet = '<link rel="stylesheet" type="text/css" href="/style/blue.css">';
$_SESSION['switchcss']=$stylesheet;
}
}
?>
<?php echo ($_SESSION['switchcss'])? $_SESSION['switchcss']: '<link href="/style/blue.css" type="text/css" rel="stylesheet">';?>
</head>
<body>
<div id="something">
<div id="anotherthing">
Select <a href="/style/<?php echo $_SERVER['PHP_SELF']; ?>?css=red">[red]</a> | <a href="/style/<?php echo $_SERVER['PHP_SELF']; ?>?css=default">[blue]</a> | <a href="/style/<?php echo $_SERVER['PHP_SELF']; ?>?css=yellow">[yellow]</a> | <a href="/style/<?php echo $_SERVER['PHP_SELF']; ?>?css=black">[black]</a>
</div>
</div>
</body>
</html>
Последние уроки категории:
Сокращение PHP кода
Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...
Видимость переменных в PHP
В данном уроке рассматривается область видимости переменных PHP. Объясняется различие локальной и глобальной области видимости, показывается как получить доступ к глобальным переменным внутри функции, как работать с суперглобалами и создавать статические переменные.
Как читать Rss ленты?
Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.
Установка и настройка PHP+Apache
В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.
Как выбрать фреймворк
Так уж повелось, что лень – это двигатель прогресса и как бы странно это не звучало, все те блага цивилизации, которые мы имеем сейчас были сделаны в первую очередь для нашего комфорта. Так и программисты чтобы облегчить себе жизнь и тем самым получить возможность создавать более сложные проекты за менее долгое время придумали сделать себе фреймворки.




Комментарии: