Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Сниппет MODX Revolution для изминения сайта в зависимости от сезона

Сайдбар

Сниппет MODX Revolution для изминения сайта в зависимости от сезона

12 февр. 2014

Сниппет который поможет вам изменить свой сайт в зависимости от времени года. Этот сниппет позволяет автоматически производить сезонные изменения на вашем сайте созданном на MODX Revolution. Он может быть использован, чтобы просто отобразить имя текущего времени года или тянуть чанки которые сезонолизируют ваш сайт по разному. Он может быть использован несколько раз на одной странице. Для использования изминений с помощью чанков, создайте четыре части, называемые summer, fall, winter, and spring.

Использование



Данный вызов сниппета покажет только название сезона:
[[!Season? &nameOnly=`1`]]

Этот вызов сниппета отобразит содержимое чанка соответствующего фрагмента, если чанки называются summer, fall, winter, and spring:
[[!Season]]

Этот вызов использует названия чанков, чтобы использовать для каждого сезона:
[[!Season?
    &summerChunk=`MySummerChunk`
    &fallChunk=`MyFallChunk`
    &winterChunk=`MyWinterChunk`
    &springChunk=`MySpringChunk`
]]

Вы можете использовать этот сниппет, чтобы изменить CSS в зависимости от сезона, поставив путь на другой файл CSS в каждом параметре и с помощью сниппета вызвать его в шаблоне.

Сниппет


Вставьте этот код в новый сниппет с названием Season и сохраните:
<code><?php
/* Season snippet */
 
if (! function_exists('season')) {
    function season() {
        $limits = array(
            '/12/21' => 'winter',
            '/09/21' => 'fall',
            '/06/21' => 'summer',
            '/03/21' => 'spring',
            '/01/01' => 'winter'
        );
        $adate = date("M d Y"); /* set $adate to today */
 
        foreach ($limits AS $key => $value) {
            $limit = date("Y") . $key;
            if (strtotime($adate) >= strtotime($limit)) {
                return $value;
            }
        }
    }
}
 
$summerChunk = $modx->getOption('summerChunk', $scriptProperties, 'summer');
$fallChunk = $modx->getOption('fallChunk', $scriptProperties, 'fall');
$winterChunk = $modx->getOption('winterChunk', $scriptProperties, 'winter');
$springChunk = $modx->getOption('springChunk', $scriptProperties, 'spring');
 
$nameOnly = $modx->getOption('nameOnly', $scriptProperties, false);
 
/* Get the name of the current season */
$season = season();
 
/* Figure out what to return */
if (!empty($nameOnly)) {
    /* Return just the season name */
    $output = $season;
} else {
    /* Return the content of the appropriate chunk */
    $output = $modx->getChunk(${$season . 'Chunk'});
}
return $output;</code>






Комментарии (4)

  1. Nick 29 декабря 2016, 22:15 # 0
    Очень интересный сниппет. Спасибо!
    А не подскажите, как например с его помощью менять лого на сайте по времени года?
    1. Александр 30 декабря 2016, 10:52 # 0
      [[!Season?
          &summerChunk=`MySummerChunk`
          &fallChunk=`MyFallChunk`
          &winterChunk=`MyWinterChunk`
          &springChunk=`MySpringChunk`
      ]]
      В чанках лого ставите для каждого сезона.
    2. Nick 31 декабря 2016, 11:54 # 0
      Приходила такая мысль в голову, но не думал что все так просто. Спасибо:) С наступающим Вас новым годом!
      1. Александр 01 января 2017, 01:47 # 0
        Спасибо и Вас с Новым Годом!

      Услуги по MODX Revolution

      Посмотреть все услуги

      Техническая оптимизация сайта

      Подробнее & Заказать

      Создание сайта на MODX Revolution

      Подробнее & Заказать

      Перенос сайта на MODX Revolution

      Подробнее & Заказать

      Продвижение сайта на MODX

      Подробнее & Заказать