Виджет Снежинки на сайте для 2.3.х.

2040
Как я понял сегодня в тренде "Снегопад на сайте", "Снежинки на сайте", ажиотаж вокруг "Падающего снега" - опять же на сайте.
Поэтому решил описать работу одного виджета немного подробнее.

Работа проверялась на версии 2.2.1, на версиях ниже, возможно будет работать.


Виджет сделан на основе скрипта snowstorm.js.
Добавлены картинки из модуля для первой ветки и символы юникода, немного похожие на снежинки.
Все они расположены во вкладке "Снежинки" в настройках виджета
Снежинки
Все отмеченные снежинки будут случайным образом выбираться и отображаться на страницах, где установлен виджет.
Если вам нужен только один вид снежинок (не напоминающий падающие шестерёнки и не вызывающий дополнительных ассоциаций), то вы можете отметить галочкой только интересную вам снежинку.

Настройки.

Настройки
Интервал анимации, мс - скорость прокрутки цикла анимации, но зрительно воспринимается как увеличение скорости падения снежинок. Соответственно при меньшей скорости прокрутки цикла, надо больше затрат на вычислительные процессы центрального процессора.

Высота блока анимации - высота от верха страницы в пикселях. Этим можно ограничить высоту падения снежинок, например чтобы они падали только в шапке сайта.

Общее количество снежинок - количество снежинок, которые ещё падают и лежат в сугробе внизу экрана.

Максимальное количество одновременно выпадающих снежинок - максимальное количество снежинок которое может одновременно выпасть. Соответственно, чем меньше, тем процессору легче их сосчитать.

Смещение снежинок по ширине, Смещение снежинок по высоте - сам не совсем понял, что за параметр и в чём измеряется, но похоже это расстояния между снежинками по ширине и высоте соответственно.

Реагировать на движения мышки - взмах "мышкой", меняет направление "ветра".

Останавливать анимацию, если окно не в фокусе - при включенной опции, если вы переключитесь в другое открытое окно, то снежинки зависнут и продолжат падение, когда вы обратите на них своё внимание.

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

Налипание снега - интересная опция. Позволяет собрать сугроб внизу экрана, мысленно поиграть в снежки и построить детворе горку прямо в мониторе. smile

Название CSS класса для снежинок - это если вы хотите их как-то особенно выделить.

CSS селектор блока, в котором выводить снежинки - снежинки будут падать только в указанном блоке.

Эффект таяния снежинок - Если включить, то некоторые снежинки будут таять ещё в полёте.

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

Цвет снежинок - тут прописывается цвет снежинок в формате #ffffff. Он применяется только к снежинкам из юникода. Цвет и форму самих картинок-снежинок вы можете изменив файлы в папке - \templates\default\images\snow\.

С цветом снежинок возникла непростая ситуация. На скрине стоит поле "Цвет", а у вас стоит поле "Строка". Не переживайте, в версии 2.5.0 оно автоматически изменится smoke . Просто Fuze, вдруг, неожиданно так, выложил релиз, за что ему отдельное спасибо.
В общем не успели "внестись", некоторые правки. Но тем, кто не хочет ждать версию 2.5.0, но уже сидит на версии 2.4.0, можете внести правки самостоятельно.
Для этого в файле system\widgets\snowstorm\options.form.php в строке 83 строку
Код PHP:
  1. if ($version['major'] >= 2 && $version['minor'] >= 5){
заменить на
Код PHP:
  1. if ($version['major'] >= 2 && $version['minor'] >= 4){
и в файле templates\default\assets\fields\color.tpl.php строки 2-3
Код PHP:
  1. $this->addJS('templates/default/js/colorpicker.js');
  2. $this->addCSS('templates/default/css/colorpicker.css');
заменить на
Код PHP:
  1. $this->addJSFromContext('templates/default/js/colorpicker.js');
  2. $this->addCSSFromContext('templates/default/css/colorpicker.css');
Повторюсь, на версиях ниже 2.4.0, такой фокус с полем выбора цвета не пройдет. Это некий стимул вам для установки обновлений smile .
Для тех, кто уже скачал, желательно скачать заново и перезаписать файлы из папки package/system. Так как была обнаружена ошибка: при включенном кэшировании снежинки не падали.
Импорт-Экспорт типов контента | Тип поля "Список количества".
Комментарии (10)
Loadырь 30 декабря 2015 в 18:11 0
Ух ты, а тут скидка не показывается. Народ, цена дико страшная shock , поэтому пользуйтесь, пока скидки действуют.
solntsev 30 декабря 2015 в 18:26 +1
За скидку отдельное спасибо. dance
Pasha 30 декабря 2015 в 18:22 +1
Жирная восьмиконечная каплеобразная звездочка-пропеллер
Loadырь, что вы курили? Я тоже такое хочу.
Loadырь 30 декабря 2015 в 18:26 0
Могу и вам отсыпать
Soul 30 декабря 2015 в 18:29 0
Ух ты, а тут скидка не показывается. Народ, цена дико страшная
Loadырь, не шутите так! "закрался" в нашем сообществе человечек, который не понимает шуток :)
Loadырь, что вы курили? Я тоже такое хочу
Pasha, зачем Вам это? хотите посоветую "наркотик посильнее" ( сам на нем " сижу", при использовании - 100% летальный исход) - называется ЖИЗНЬ smile .
solntsev 30 декабря 2015 в 19:03 0
Я все понимаю. Это «сарказм»!
Владимир Савенко 30 декабря 2015 в 19:34 0
Красиво сказано. При определенных условиях жизнь - еще та эйфория!!!
Def 31 декабря 2015 в 10:28 0
на 2.4.0 почему то не поставилось после обновления движка с 2.3.0 на 2.4.0(

пишет, что установлено, но в компонентах не вижу его
Loadырь 31 декабря 2015 в 10:39 0
yury:
но в компонентах не вижу его
ищите его в виджетах
Def 31 декабря 2015 в 10:43 0
а, гаше, это настройки виджета)