Кнопки для сайту dle

Отже, ми вирішили в якості прикладу додати кнопку вгору для нашого сайту на движку DLE. Це досить зручна для користувачів можливість, оскільки кнопка вгору дозволяє швидко піднятися в самий початок сайту (вгору) з будь-якої точки сайту. Особливо ця можливість актуальна для мобільних версій сайту, де екран досить вузький і контент сторінки може займати кілька екранів. У цьому випадку користувач буде позбавлений від гарячкового гортання екрана з метою дістатися до меню або будь-якого іншого елемента, який знаходиться у верхній частині сторінки. За нього це зробить функціонал, закладений в кнопку.

Також ця можливість актуальна для сайтів з великою кількістю контенту. Загалом, штука корисна і зручна. До слова, в шаблоні Default, який йде з коробки з двигуном DLE, така кнопка є. Ось тільки зроблена вона не зовсім вдало. По-перше, на мобільній версії сайту її чомусь прибрали. По-друге, на десктопах вона знаходиться в самому низу сторінки, тобто, якщо ми знаходимося десь в середині тематичної сторінки, то ця кнопка для нас просто недоступна.

Кнопки для сайту dle

Хотілося б все ж, щоб ця кнопка з'являлася не в самому кінці сторінки, а була доступна нам практично завжди. Ну і, звичайно ж, непогано було б, щоб ця кнопка була доступна і на мобільній версії сайту. Давайте спробуємо зробити це.

Я використовую вже наявну кнопку, яку показав на скріншоті вище, проте можна використовувати і власну кнопку за бажанням. Давайте подивимося код кнопки через консоль розробника.

Кнопки для сайту dle

Як бачимо, кнопка має ідентифікатор upper, для якого описані відповідні стилі. Для того, щоб кнопка показувалася не тільки в кінці сторінки, нам необхідно прописати для неї фіксоване позиціонування і вказати відповідний відступ знизу. Зробимо це в файлі style.css.

Кнопки для сайту dle

Тепер кнопка доступна з будь-якої позиції сторінки, оскільки ми задали для неї фіксоване позиціонування і відступ знизу і праворуч по 50 пікселів.

Кнопки для сайту dle

Наступним кроком буде показати кнопку тільки починаючи з певної позиції, скажімо починаючи з 200 пікселів прокрутки від верху сторінки. Тобто, спочатку кнопка буде не видна, але після 200 пікселів прокрутки ми її покажемо. Для цього в тих же стилях спочатку приховуємо кнопку, додавши просте правило display: none;

Тепер напишемо нескладний скрипт, який покаже кнопку при Скролл сторінки. Зробити це можна в окремому файлі js, який можна підключити до сторінки. Також можна використовувати існуючий файл або прописати потрібний код в шаблоні. Я зупинюся на останньому варіанті, тим більше що в шаблоні main.tpl вже є js код. Допишемо наш код:

Кнопки для сайту dle

Суть коду досить проста. При подію скролла ми перевіряємо відступ зверху і, якщо він більше 200 пікселів, тоді ми показуємо кнопку, в іншому випадку - приховуємо її. Ну а при кліці по самій кнопці анімується скролл вгору за 700 мілісекунд.

Залишилося зробити доступною кнопку і для мобільних пристроїв. Насправді ховається не кнопка, а блок, в якому ця кнопка знаходиться. Це блок з класом rightside. Найпростішим варіантом вирішити задачу буде просте видалення класу у цього блоку. Знаходиться блок в шаблоні modules / footmenu.tpl. Відкриємо його і внесемо необхідні правки.

Кнопки для сайту dle

Ну от і все. Тепер кнопка працює як на десктопах, так і на мобільних пристроях. На цьому у мене сьогодні все. Нагадую, що якщо ви хочете більше дізнатися про DLE, тоді познайомтеся з нашим курсом Створення сайту на CMS DLE. Успіхів!

Найсвіжіші новини IT і веб-розробки на нашому Telegram-каналі