Верх страницы
Время для прочтения: 0 мин. 12 сек.

Зависимость дизайна сайта от времени года

Чтобы ваш сайт не смотрелся скучным, можно постоянно менять ему дизайн. Если этот процесс автоматизировать, чем мы сейчас и займёмся, меняя дизайн, например, в зависимости от времени года (лето, осень, зима, весна), то получится отличный эффект.

Один из вариантов, который на мой взгляд является наиболее правильным, — подмена css -файла в зависимости от времени года. В этом нам поможет РНР.

Чтобы определить, какое сейчас время года, напишем функцию:

function getSeason() {
    $seasons = array(
    	0 => 'winter', 
    	1 => 'spring', 
    	2 => 'summer', 
    	3 => 'autumn'
    );
    return $seasons[floor(date('n') / 3) % 4];
}

Знак процента — деление по модулю

Вставим нашу функцию в HTML-код:

<html>
	<head>
	<link rel="stylesheet" type="text/css" href="<?php echo getSeason()?>.css" />
	</head>
</html>

По аналогии можно менять стили в зависимости от времени суток, праздников. По данному алгоритму работает сайт Сеймчан.Ру

RTFM

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, OpenCart, DLE, Laravel, Moonshine, Symfony, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

10 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
golver
golver
13 лет назад

В принципе всё ясно, но есть одна деталь которую так и не смог найти нигде. В строке return $seasons[ floor(date('n') / 3) % 4 ]
Что означает знак процента и цифра 4?

Моё мнение, надо пояснять скрипт при его публикации.
date('n') — возвращает порядковый номер месяца от 1 до 12;
которую делим на 3 (/3);

получаем 1,2,3 месяцы деленные на 3 дают дробное число меньше 1
4,5,6 месяцы деленные на 3 дают больше 1, но меньше 2 и т.д.

Далее функция floor() округляет дробное число до целого в меньшую сторону — отсюда вариантов ответа четыре — (0,1,2,3).
Собственно, возвращаем массив $seasons[] с ключем, полученным из floor():

0 то зима;
1 — весна;
2 — лето;
3 — осень;

Символ процента и цифра 4, я так понимаю помагают нам внести поправку на то, что зима у нас 12, 1, 2 месяцы и т.д. Объясните пожалуйста что же это за магические символ процента и цифра 4?

Игорь
11 лет назад

О, спасибо, взял на заметку

Вопрос на засыпку!
11 лет назад

Как быть с южным и северным полушарием?
Для южного полушария лето — декабрь, январь, февраль.

Хе-хе!
Хе-хе!
11 лет назад

Уточняю вопрос:
Как пользователю из Австралии 23-го февраля «показать лето», а пользователю из Финляндии — зиму.

disqusashto
disqusashto
10 лет назад

дизаИн?

mihdan
10 лет назад
Ответить на  disqusashto

Не понял сути?

Предыдущая запись
Следующая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы