ForumD.ru - Дизайн, графика, скрипты, техническая поддержка для форумов и сайтов

Объявление

🎲 Майский ваншот

Ленивая сезонная майская акция
Сыграем в настольную игру в дискорде?
Пишите, присоединяйтесь к обсуждению!

Подробности

GEMcross

Кроссовер, ориентированный на активную игру и уютный флуд.
Собираем у себя драгоценных игроков уже почти три года.

Посетить

🔥 Новинка в портфолио: ДИЗАЙН И ГРАФИКА В СТИЛЕ GENSHIN IMPACT

Платформа: MyBB.ru (RusFF)
Стоимость: 6500 рублей;
Авторы: Moju & wasurenagusa

Посмотреть

💰 Теперь у нас можно приобрести "Мгновенные уведомления от Алекса"

Скрипт оповещает пользователей о событиях на форуме в реальном времени, придавая динамики общению.
Автор: Alex_63 | Платформа: MyBB.ru.

У нас: структурированная документация, возможность платить иностранными картами, перевыпустить подписку или купить бессрочно.

Купить скрипт

🌟 ОПЛАТА ЗАКАЗА НАГРАДНЫМИ БАЛЛАМИ И СКИДКИ

Заказы можно оплачивать наградными баллами (НБ). Полностью или частично.
Бартер за НБ осуществляется на условиях платного заказа, в качестве оплаты - НБ.
А если у вас есть любой платный заказ, вы можете обменять НБ на скидочные купоны.

узнать подробности

❤️ Поддержать проект

Если у вас есть желание помочь нам сделать наш проект лучше:
Реклама на сайтеПредложения
Стать модераторомОтзывы

Подробнее

SPECIAL OFFER: We distribute designs for free

Finalizing the layout for your project;
Developing a style code;
Mobile version included if you wish.

Details

Support the project

If you want to help us:
Become a moderator
SuggestionsReviews

Details
❗ ❗ ❗ Technical work is underway. We'll fix it soon. :) If you're english-speaker and want to use our forum, switch to the russian language. This is temporary, until the works with multi-language option will be done. Sorry for the inconvenience.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Кастомизируемый mp3 плеер (CSS, JS)

Сообщений 21 страница 30 из 43

1

КАСТОМИЗИРУЕМЫЙ ПЛЕЕР
Плеер, автопроигрывающий несколько песен подряд пока не остановите. Можно настраивать оформление.

https://forumupload.ru/uploads/0007/e3/f7/6822/377977.png

Автор скрипта: @Emerael

Код состоит из трёх частей:

  • самого кода плеера - ставить туда где должен сам плеер стоять;

  • CSS-стилей - ставить либо рядом с плеером чтобы не потерять, либо в стиль без тегов <style>, либо в html-верх;

  • скрипт, заставляющий всё это дело работать - Ставить строго после первой части.

ЧАСТЬ 1. Код плеера

В data-tracks нужно ставить ссылки на mp3. Если хотите несколько песен, разделяйте их сочетанием <>. Пример в коде:

ЧАСТЬ 2. CSS-стили

Как настраивать:

  • player-wrapper - все, что содержит плеер;

  • play-pause - кнопка плеепаузы, для конкретно кнопки в состоянии "паузы" юзаем селектор .play-pause.paused ;

  • .track - прогрессбар трека;

  • .volume - полоска громкости;

  • .thumb - кружочки внутри предыдущих 2 пунктов;

ЧАСТЬ 3. Скрипт

Чтобы добавить кнопки-переключатели между треками:
Автор: @Gerda

В СSS стили добавить
Заменить Часть 3 JS

Чтобы добавить кнопку для зацикливания трека:
Авторы: @Gerda & @Emerael

В CSS добавить
Заменить Часть 3 JS

+2

21

#p186808,Тони написал(а):

А можно залить сам плеер красивым фоном со своим стилем?

Кастомизация внешнего вида в Части 2 - Стили.

#p174920,Automation Baby написал(а):

Как настраивать:
player-wrapper - все, что содержит плеер;
play-pause - кнопка плеепаузы, для конкретно кнопки в состоянии "паузы" юзаем селектор .play-pause.paused ;
.track - прогрессбар трека;
.volume - полоска громкости;
.thumb - кружочки внутри предыдущих 2 пунктов;

Код:
<style> /*ЧАСТЬ 2. CSS-стили кастомизированного плеера*/
.player-wrapper{background: aliceblue;width: 500px; height: 40px;}
.play-pause.paused{background: url(https://forumstatic.ru/files/001b/b4/4f/58193.svg) no-repeat; background-size: contain}
.play-pause{background: url(https://forumstatic.ru/files/001b/b4/4f/30007.svg?v=1) no-repeat; background-size: contain; border: 0; width: 38px; height: 38px;padding: 0;}
.track, .volume{height: 100%; background: linear-gradient(0deg, transparent 0, transparent 50%, black 50%, transparent calc(50% + 1px), transparent); display: inline-block; margin-left: 10px; position: relative;}
.track {
    width: calc(80% - 60px);
}
.volume {
    width: 20%;
}
.thumb {
    width: 8px;
    height: 8px;
    top: calc(50% - 4px);
    background: black;

Тут либо вы сами исправляете стили, если знакомы с CSS. Либо изобразите как вам нужно кастомизировать плеер и вам помогут это сделать.

+2

22

#p186811,Тони написал(а):
#p186809,Gerda написал(а):

Тони
делается через CSS-стили в первом посте.

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

http://alfedr.mybb.ru/

В прямоугольной рамке где находятся кнопочки,  надо его в общем залить фоном картинкой, как то так

найди в стиле плеера красный селектор и поменяй отмеченное синим:

.player-wrapper {
  background: url(ссылка на картинку);
  width: 500px;
  height: 40px;
}

+1

23

Gerda
Все получилось. Фон рабочий. Мой вам респект. Вообще этот плеер хорош, прост, много трафика не есть.

0

24

Есть проблемка вот с этим - https://forumupload.ru/uploads/0007/e3/f7/8860/625902.jpg
То что в красной рамке надо разместить по центру(спустить пониже). Мой форум - http://alfedr.mybb.ru/
Да и вообще чтобы все иконки были на одной линии

Отредактировано Тони (29.09.23 15:05)

0

25

И ЕЩЕ СМОЖЕТЕ ДОБАВИТЬ КНОПОЧКУ ДЛЯ ЗАЦИКЛИВАНИЯ ТРЕКА?

0

26

#p188389,Тони написал(а):

То что в красной рамке надо разместить по центру(спустить пониже)

вот сюда добавить стили:

.player-wrapper {
  background: url();
  width: 700px;
  height: 40px;
  margin: 0 auto;
  position: relative;

}

красную строчку можно убрать, она ничего не делает.
синие строчки добавить

и еще добавить такой код:

Код:
.controls {position: absolute; top: 0;}

+1

27

#p188390,Тони написал(а):

И ЕЩЕ СМОЖЕТЕ ДОБАВИТЬ КНОПОЧКУ ДЛЯ ЗАЦИКЛИВАНИЯ ТРЕКА?

проверяй.

обновленный javascript

Код:
<!-- ЧАСТЬ 3. Кастомизируемый плеер. Скрипт -->
<script>
(() => {
    const selector = '.playerNode';
    const targets = document.querySelectorAll(selector);
    targets.forEach((target) => {
        const tracks = target.dataset.tracks?.split('<>').filter(Boolean);
        const audio = document.createElement('audio');
        audio.src = tracks[0];
        let index = 0;
        const getNext = () => {
            index = (index + 1) % tracks.length; 
            return index;
        };
        const getPrev = () => {
            index = (index - 1 + tracks.length) % tracks.length;
            return index;
        };
        audio.addEventListener('ended', function() {
            audio.src = tracks[getNext()];
            audio.pause();
            audio.load();
            audio.play();
        });

        audio.addEventListener('timeupdate', function() {
            const part = audio.currentTime / audio.duration || 0;
            track.querySelector('.thumb').style.left = (part * 100).toFixed(2) + '%';
        });
        const play = document.createElement('button');
        play.classList.add('play-pause');
        play.classList.add('paused');
        play.addEventListener('click', () => {
            if (play.classList.contains('paused')) {
                audio.play();
                play.classList.remove('paused');
            } else {
                audio.pause();
                play.classList.add('paused');
            }
        })
        const track = document.createElement('div');
        const thumb = document.createElement('div');
        track.classList.add('track');
        thumb.classList.add('thumb');
        track.append(thumb);
        track.addEventListener('click', (evt) => {
            const part = evt.offsetX / track.offsetWidth;
            audio.currentTime = part * audio.duration;
            thumb.style.left = (part * 100).toFixed(2) + '%';
        })

        const volume = document.createElement('div');
        const volumeThumb = document.createElement('div');
        volumeThumb.classList.add('thumb');
        volume.classList.add('volume');
        volume.append(volumeThumb);
        volumeThumb.style.left = 'calc(100% - 8px)';
        volume.addEventListener('click', (evt) => {
            const part = evt.offsetX / volume.offsetWidth;
            audio.volume = part.toFixed(2);
            volumeThumb.style.left = (part * 100).toFixed(2) + '%';
        });
        const controls = document.createElement('div');
        controls.classList.add('controls');
        const prevTrack = document.createElement('button');
        prevTrack.classList.add('prev-track');
        prevTrack.addEventListener('click', () => {
            audio.src = tracks[getPrev()];
            audio.pause();
            audio.load();
            audio.play();
        });
        const nextTrack = document.createElement('button');
        nextTrack.classList.add('next-track');
        nextTrack.addEventListener('click', () => {
            audio.src = tracks[getNext()];
            audio.pause();
            audio.load();
            audio.play();
        });
        controls.append(prevTrack, play, nextTrack);
        const wrapper = document.createElement('div');
        wrapper.classList.add('player-wrapper');
        wrapper.append(audio, track, volume, controls);
        target.append(wrapper);

const loopToggle = document.createElement('button');
loopToggle.classList.add('loop-toggle');
loopToggle.addEventListener('click', () => {
    isLoopActive = !isLoopActive;
    loopToggle.classList.toggle('loop-active', isLoopActive);
});
controls.appendChild(loopToggle);

    })
})();
</script>

в CSS добавляем:

Код:
.loop-toggle {
    background: #ccc url(ссылка на картинку) no-repeat;
    background-size: contain;
    border: none;
    width: 24px;
    height: 24px;
    cursor: pointer;
}

.loop-active {
    background-color: red; /* Цвет активированной кнопки */
}

+1

28

Gerda
все поставил, обновил, далее все норм.
Получилось вот так: https://forumupload.ru/uploads/0007/e3/f7/8860/413088.jpg

Единственная проблемка - не работает кнопочка зацикливания трека.

Отредактировано Тони (01.10.23 08:58)

0

29

Тони
попробуй от так:

Код:
<!-- ЧАСТЬ 3. Кастомизируемый плеер. Скрипт -->
<script>
(() => {
    const selector = '.playerNode';
    const targets = document.querySelectorAll(selector);
    targets.forEach((target) => {
        const tracks = target.dataset.tracks?.split('<>').filter(Boolean);
        const audio = document.createElement('audio');
        audio.src = tracks[0];
        let index = 0;
        const getNext = () => {
            index = (index + 1) % tracks.length; 
            return index;
        };
        const getPrev = () => {
            index = (index - 1 + tracks.length) % tracks.length;
            return index;
        };
        audio.addEventListener('ended', function() {
            audio.src = tracks[getNext()];
            audio.pause();
            audio.load();
            audio.play();
        });

        audio.addEventListener('timeupdate', function() {
            const part = audio.currentTime / audio.duration || 0;
            track.querySelector('.thumb').style.left = (part * 100).toFixed(2) + '%';
        });
        const play = document.createElement('button');
        play.classList.add('play-pause');
        play.classList.add('paused');
        play.addEventListener('click', () => {
            if (play.classList.contains('paused')) {
                audio.play();
                play.classList.remove('paused');
            } else {
                audio.pause();
                play.classList.add('paused');
            }
        })
        const track = document.createElement('div');
        const thumb = document.createElement('div');
        track.classList.add('track');
        thumb.classList.add('thumb');
        track.append(thumb);
        track.addEventListener('click', (evt) => {
            const part = evt.offsetX / track.offsetWidth;
            audio.currentTime = part * audio.duration;
            thumb.style.left = (part * 100).toFixed(2) + '%';
        })

        const volume = document.createElement('div');
        const volumeThumb = document.createElement('div');
        volumeThumb.classList.add('thumb');
        volume.classList.add('volume');
        volume.append(volumeThumb);
        volumeThumb.style.left = 'calc(100% - 8px)';
        volume.addEventListener('click', (evt) => {
            const part = evt.offsetX / volume.offsetWidth;
            audio.volume = part.toFixed(2);
            volumeThumb.style.left = (part * 100).toFixed(2) + '%';
        });
        const controls = document.createElement('div');
        controls.classList.add('controls');
        const prevTrack = document.createElement('button');
        prevTrack.classList.add('prev-track');
        prevTrack.addEventListener('click', () => {
            audio.src = tracks[getPrev()];
            audio.pause();
            audio.load();
            audio.play();
        });
        const nextTrack = document.createElement('button');
        nextTrack.classList.add('next-track');
        nextTrack.addEventListener('click', () => {
            audio.src = tracks[getNext()];
            audio.pause();
            audio.load();
            audio.play();
        });
        controls.append(prevTrack, play, nextTrack);
        const wrapper = document.createElement('div');
        wrapper.classList.add('player-wrapper');
        wrapper.append(audio, track, volume, controls);
        target.append(wrapper);

const loopToggle = document.createElement('button');
loopToggle.classList.add('loop-toggle');
let isLoopActive = false;

loopToggle.addEventListener('click', () => {
    isLoopActive = !isLoopActive;
    loopToggle.classList.toggle('loop-active', isLoopActive);
});

controls.appendChild(loopToggle);

audio.addEventListener('ended', function() {
    if (isLoopActive) {
        audio.currentTime = 0;
        audio.play();
    } else {
        audio.src = tracks[getNext()];
        audio.pause();
        audio.load();
        audio.play();
    }
});

    })
})();
</script>

+1

30

#p188423,Gerda написал(а):

Тони
попробуй от так:

Код:
<!-- ЧАСТЬ 3. Кастомизируемый плеер. Скрипт -->
<script>
(() => {
    const selector = '.playerNode';
    const targets = document.querySelectorAll(selector);
    targets.forEach((target) => {
        const tracks = target.dataset.tracks?.split('<>').filter(Boolean);
        const audio = document.createElement('audio');
        audio.src = tracks[0];
        let index = 0;
        const getNext = () => {
            index = (index + 1) % tracks.length; 
            return index;
        };
        const getPrev = () => {
            index = (index - 1 + tracks.length) % tracks.length;
            return index;
        };
        audio.addEventListener('ended', function() {
            audio.src = tracks[getNext()];
            audio.pause();
            audio.load();
            audio.play();
        });

        audio.addEventListener('timeupdate', function() {
            const part = audio.currentTime / audio.duration || 0;
            track.querySelector('.thumb').style.left = (part * 100).toFixed(2) + '%';
        });
        const play = document.createElement('button');
        play.classList.add('play-pause');
        play.classList.add('paused');
        play.addEventListener('click', () => {
            if (play.classList.contains('paused')) {
                audio.play();
                play.classList.remove('paused');
            } else {
                audio.pause();
                play.classList.add('paused');
            }
        })
        const track = document.createElement('div');
        const thumb = document.createElement('div');
        track.classList.add('track');
        thumb.classList.add('thumb');
        track.append(thumb);
        track.addEventListener('click', (evt) => {
            const part = evt.offsetX / track.offsetWidth;
            audio.currentTime = part * audio.duration;
            thumb.style.left = (part * 100).toFixed(2) + '%';
        })

        const volume = document.createElement('div');
        const volumeThumb = document.createElement('div');
        volumeThumb.classList.add('thumb');
        volume.classList.add('volume');
        volume.append(volumeThumb);
        volumeThumb.style.left = 'calc(100% - 8px)';
        volume.addEventListener('click', (evt) => {
            const part = evt.offsetX / volume.offsetWidth;
            audio.volume = part.toFixed(2);
            volumeThumb.style.left = (part * 100).toFixed(2) + '%';
        });
        const controls = document.createElement('div');
        controls.classList.add('controls');
        const prevTrack = document.createElement('button');
        prevTrack.classList.add('prev-track');
        prevTrack.addEventListener('click', () => {
            audio.src = tracks[getPrev()];
            audio.pause();
            audio.load();
            audio.play();
        });
        const nextTrack = document.createElement('button');
        nextTrack.classList.add('next-track');
        nextTrack.addEventListener('click', () => {
            audio.src = tracks[getNext()];
            audio.pause();
            audio.load();
            audio.play();
        });
        controls.append(prevTrack, play, nextTrack);
        const wrapper = document.createElement('div');
        wrapper.classList.add('player-wrapper');
        wrapper.append(audio, track, volume, controls);
        target.append(wrapper);

const loopToggle = document.createElement('button');
loopToggle.classList.add('loop-toggle');
let isLoopActive = false;

loopToggle.addEventListener('click', () => {
    isLoopActive = !isLoopActive;
    loopToggle.classList.toggle('loop-active', isLoopActive);
});

controls.appendChild(loopToggle);

audio.addEventListener('ended', function() {
    if (isLoopActive) {
        audio.currentTime = 0;
        audio.play();
    } else {
        audio.src = tracks[getNext()];
        audio.pause();
        audio.load();
        audio.play();
    }
});

    })
})();
</script>

Тоже самое. Кнопка зацикливания трека не робит(

0

Быстрый ответ

Напишите ваше сообщение и нажмите «Отправить»


ВНИМАНИЕ! При обращении за техподдержкой и вопросами по скриптам/оформлению, оставляй ссылку на форум/сайт с проблемой! Специалист должен вживую видеть проблему, чтобы подсказать как ее решить.

ВНИМАНИЕ! Гости (не зарегистрированные на форуме) могут писать сообщения, но не могут вставлять прямые ссылки! Чтобы оставить сообщение со ссылкой на сайт, форум или скриншот удали символы: "https://", "https://" или "www."
font_download format_size format_bold format_italic format_underlined strikethrough_s format_paint color_lens
format_align_left format_align_center format_align_right list table_view
link add_photo_alternate ondemand_video mood
content_cut lock_open format_quote code
horizontal_rule anchor live_help emoji_symbols library_add
Bebas Neue Arial Georgia Microsoft Sans Serif Tahoma Verdana Century Gothic Palatino Linotype Times New Roman Franklin Gothic Medium Impact Arial Black Courier New Lucida Console Comic Sans Ms
10px 12px 14px 16px 18px 20px 22px
  • Точками
  • Кружочками
  • Квадратами
  • Цифрами
  • Римскими цифрами
  • Без обозначений
Многострочный пункт списка
© ® « » ¢ £
Заголовок Автосжатие больших картинок Скрыть от гостей Ссылка «скачать» Имя читателя Добавлено спустя… Надстрочный текст Подстрочный текст Блок HTML Анкета: разделитель текста Анкета: закрыть ответы

Теги оформления специальных постов

Сделать пост специальным[block="portfoliopost"]portfoliopost[/block],
Светлый фон[block="makeportfoliolight"]makeportfoliolight[/block],
Красный пост[block="saledpost"]saledpost[/block],
Синий пост[block="forsalepost"]forsalepost[/block],
Зеленый пост[block="freepost"]freepost[/block],

Пост без профиля[block="no-prof"]no-prof[/block],
Общее портфолио FD[block="FDteam-portf"]FDteam-portf[/block],

Теги оформления картинок

Обложки: Для одной картинки по центру в рамке, автоматически уменьшается до ширины 480px

Обложка[block="cover"][block="picture"][img]ссылка на картинку,[/img][/block][/block]
Закрыто[block="cover"][block="icon material-icons"]lock[/block][block="picture"][img]ссылка на картинку,[/img][/block][/block]
Продажа[block="cover"][block="icon fa-solid fa-sack-dollar"][/block][block="picture"][img]ссылка на картинку,[/img][/block][/block]
Подарок[block="cover"][block="icon fa-solid fa-gift"][/block][block="picture"][img]ссылка на картинку,[/img][/block][/block]

Превью: Для любого количества картинок по центру в рамке, автоматически уменьшается до ширины или высоты 300px

Блок для превью[block="morepics"],[/block]

Разноцветные картинки-ссылки: Для любого количества картинок по центру в разноцветных рамках с заголовком, автоматически уменьшается до ширины 350px, минимальная высота 230px (если высота больше, картинка "обрезается" снизу, но не сжимается)

Блок для картинок-ссылок[block="port-block"],[/block]
Красный[block="p-out saled"] [url=ссылка]заголовок,[/url] [block="picture"][img]ссылка на картинку[/img][/block] [/block]
Синий[block="p-out forsale"] [url=ссылка]заголовок,[/url] [block="picture"][img]ссылка на картинку[/img][/block] [/block]
Зеленый[block="p-out free"] [url=ссылка]заголовок,[/url] [block="picture"][img]ссылка на картинку[/img][/block] [/block]
Желтый[block="p-out yellow"] [url=ссылка]заголовок,[/url] [block="picture"][img]ссылка на картинку[/img][/block] [/block]

Теги оформления контента

Обведенный текст[block="details"] [block="det"],[/block] [/block]
Добавить еще блок[block="det"],[/block]

Блок с кнопками[block="links"] [block="demo"][url=ссылка]синяя кнопка,[/url][/block] [block="store"][url=ссылка]оранжевая кнопка[/url][/block] [/block]
Синяя кнопка[block="demo"][url=ссылка]текст,[/url][/block]
Оранжевая кнопка[block="store"][url=ссылка]текст,[/url][/block]

добавить работу [block="wow bounceIn p-out,"] иконка [block="p-descr"][url=https://forumd.ru/viewtopic.php?id=]описание[/url][/block] [block="p-inner"][url=https://forumd.ru/viewtopic.php?id=][img]картинка[/img][/url][/block] [/block]

Иконки:

lock[block="icon material-icons"]lock,[/block]

[block="icon fa-solid fa-sack-dollar"],[/block]

[block="icon fa-solid fa-gift"],[/block]

ТЕГИ (вставить в p-out через пробел)
Тип работы:

под заказ saled,

на продажу forsale,

бесплатно free,



Основная категория:

Вебдизайн dis,

(для всего связанного с работой на сайтах/форумах, кроме готовых скриптов и мелкой графики)

Графика graf,

(для графона, НЕ включающего кодинг/скрипты)

Скрипты/коды code,

(для готовых разработок и работы по верстке/кодингу)

Мини-фильтры дизайнов:

адаптивные mob,

ролевые игры frpg,

компьютерные игры game,

нейтральные flat,

Подкатегории:

Дизайн форумов/сайтов fulldis,

(для полных работ по дизайну)

Макеты layout,

(для дизайнов, где только макет без кода, или работ по созданию макетов чего-либо)

Верстка dis-code,

(для работ по верстке чужих дизайнов или отдельных штук)

Соц-сети/стримы graf-s,

(графон для оформления соцсетей/стримов)

Ролевая графика/арт art,

(для мелкой графики)

Javascript/CSS js,

(для скриптов или выложенных цсс кодов)

Бесплатный диз от FD [block="p-out free fd"] [url=https://forumd.ru/viewtopic.php?id=]заголовок,[/url] [block="picture"][img]ссылка на картинку[/img][/block][/block]

Платный диз от FD [block="p-out forsale fd"] [url=https://forumd.ru/viewtopic.php?id=]заголовок,[/url] [block="picture"][img]ссылка на картинку[/img][/block][/block]

Дизайн от юзеров [block="p-out yellow"] [url=https://forumd.ru/viewtopic.php?id=]заголовок,[/url] [block="picture"][img]ссылка на картинку[/img][/block][/block]

ТЕГИ (вставить в p-out через пробел)
Платформа:

MyBB.ru mybb-ru,

Макет (любая платформа) any,



Параметры:

+ PSD psd-in,

(в наличии макет помимо кодов)

+ адаптивка mob,

(есть версия для мобилок)
Тематика:

нейтральные flat,

ролевые игры frpg,

компьютерные игры game,

фентези fant,

аниме anime,

кино/сериалы kino,

стимпанк/киберпанк cyb,

мультфильмы kids,

животные cats,



Цвета:

тёмные darkst,

светлые light,

яркие bright,

добавить скрипт/код [block="SCRBLOCK"] [block="stforlink"] иконка, [block="link"][url=https://forumd.ru/viewtopic.php?id=]название[/url][/block] [/block] [block="sttags"] теги [/block] [/block]

Иконки:

[block="icon fa-brands fa-js"],[/block]

[block="icon fa-brands fa-css3-alt"],[/block]

[block="icon fa-regular fa-file-lines"],[/block]

[block="icon fa-solid fa-file-code"],[/block]

[block="icon fa-solid fa-file-invoice-dollar"],[/block]

ТЕГИ (*значение в скобках вставить в SCRBLOCK через пробел)
Тип кода:

скрипт (js)[block="js"]скрипт, js[/block]

css код (css)[block="css"]css код, css[/block]

HTML/CSS шаблоны (shab)[block="shab"]HTML/CSS шаблоны, shab[/block]

Модули/Расширения (global)[block="global"]Модули/Расширения, global[/block]

Платформа:

MyBB.ru (mybb-ru)[block="mybb-ru"]MyBB.ru, mybb-ru[/block]

Любой движок (any)[block="any"]Любой движок, any[/block]

Тип для форума:

Пользователи (users)[block="users"]Пользователи, users[/block]

Профиль (userprof)[block="userprof"]Профиль, userprof[/block]

Доп. поля профиля (adfield)[block="adfield"]Доп. поля профиля, adfield[/block]

Аватары (avatars)[block="avatars"]Аватары, avatars[/block]

Репутация (repa)[block="repa"]Репутация, repa[/block]


Группы (groups)[block="groups"]Группы, groups[/block]

Гoсти (guest)[block="guest"]Гoсти, guest[/block]

Администраторы (admins)[block="admins"]Администраторы, admins[/block]

Модераторы (moders)[block="moders"]Модераторы, moders[/block]


Регистрация (regis)[block="regis"]Регистрация, regis[/block]

Личные сообщения (ls)[block="ls"]Личные сообщения, ls[/block]

Вход (login)[block="login"]Вход, login[/block]

Подписки (subsc)[block="subsc"]Подписки, subsc[/block]


Поиск (search)[block="search"]Поиск, search[/block]

Цитирование (quotes)[block="quotes"]Цитирование, quotes[/block]

Пагинация (pagin)[block="pagin"]Пагинация, pagin[/block]

Опросы (polls)[block="polls"]Опросы, polls[/block]

Смайлы (smiles)[block="smiles"]Смайлы, smiles[/block]


Фикс скриптов QuadroBoards (qbfix)[block="qbfix"]Фикс скриптов QuadroBoards, qbfix[/block]

Страница форума:

На всех страницах (allpages)[block="allpages"]На всех страницах, allpages[/block]

Страницы (созд. в админке) (fpages)[block="fpages"]Страницы (соз. в админке), fpages[/block]


Главная страница (mainpage)[block="mainpage"]Главная страница, mainpage[/block]

Объявление (announ)[block="announ"]Объявление, announ[/block]

Категории (categ)[block="categ"]Категории, categ[/block]

Форумы (forums)[block="forums"]Форумы, forums[/block]

Статистика (stats)[block="stats"]Статистика, stats[/block]


Список тем (topiclist)[block="topiclist"]Список тем, topiclist[/block]

Страница профиля (profpage)[block="profpage"]Страница профиля, profpage[/block]


Тема (topics)[block="topics"]Тема, topics[/block]

Сообщения (posts)[block="posts"]Сообщения, posts[/block]

Контент сообщений (p-content)[block="p-content"]Контент сообщений, p-content[/block]

Рейтинг постов (p-repa)[block="p-repa"]Рейтинг постов, p-repa[/block]

Профиль автора поста (p-prof)[block="p-prof"]Профиль автора поста, p-prof[/block]


Форма ответа (fo)[block="fo"]Форма ответа, fo[/block]

Модификация ФО (fomod)[block="fomod"]Модификация ФО, fomod[/block]

Новые BB-теги (newbb)[block="newbb"]Новые BB-теги, newbb[/block]

Инструментарий спец тем/постов (spesh)[block="spesh"]Инструментарий спец тем/постов, spesh[/block]

Универсальные теги:

Дизайн/стиль (dis)[block="dis"]Дизайн/стиль, dis[/block]

Замена элементов/атрибутов (chan)[block="chan"]Замена элементов/атрибутов, chan[/block]

Загрузка (load)[block="load"]Загрузка, load[/block]

Переадресация (redir)[block="redir"]Переадресация, redir[/block]

Скроллинг (scroll)[block="scroll"]Скроллинг, scroll[/block]


Виджеты (vidjet)[block="vidjet"]Виджеты, vidjet[/block]

Меню (menu)[block="menu"]Меню, menu[/block]

Вкладки (ttabs)[block="ttabs"]Вкладки, ttabs[/block]

Галереи (gall)[block="gall"]Галереи, gall[/block]

Слайдеры (sliders)[block="sliders"]Слайдеры, sliders[/block]

Ротаторы (rotat)[block="rotat"]Ротаторы, rotat[/block]

Таймеры/даты (timers)[block="timers"]Таймеры/даты, timers[/block]

Спойлеры (spoilers)[block="spoilers"]Спойлеры, spoilers[/block]


Реклама (adv)[block="adv"]Реклама, adv[/block]

Изображения (pics)[block="pics"]Изображения, pics[/block]

Медиа (media)[block="media"]Медиа, media[/block]

Ролевые игры (frpg)[block="frpg"]Ролевые игры, frpg[/block]


Hover-эффекты (hover)[block="hover"]Hover-эффекты, hover[/block]

Анимация (anim)[block="anim"]Анимация, anim[/block]

Украшения (decor)[block="decor"]Украшения, decor[/block]

Праздники (seleb)[block="seleb"]Праздники, seleb[/block]


Ограничения/запреты (stops)[block="stops"]Ограничения/запреты, stops[/block]

Антикопирование (nocopy)[block="nocopy"]Антикопирование, nocopy[/block]

Уведомления (notif)[block="notif"]Уведомления, notif[/block]