Универсальный баннер

:discourse: Краткое описание Versatile Banner добавляет на ваш сайт настраиваемый баннер.
:eyeglasses: Предпросмотр Предпросмотр на Discourse Theme Creator
:hammer_and_wrench: Ссылка на репозиторий https://github.com/discourse/discourse-versatile-banner
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

Установить этот компонент темы

Возможности

Этот компонент темы является развитием предыдущих попыток создания баннеров. Цель состоит в том, чтобы обеспечить большую простоту и гибкость с помощью настроек темы.

Ниже приведены основные возможности:

  • Ограничение отображения только для авторизованных или анонимных пользователей
  • Ограничение отображения только для мобильных устройств или только для десктопов
  • Ограничение отображения на определенных страницах
  • Опции: закрываемый, сворачиваемый/разворачиваемый, всегда видимый
  • Опция на всю ширину браузера
  • Управление цветами
  • Настройка заголовка и колонок с помощью HTML (см. ниже)
  • Опция сохранения состояния (см. ниже)

Настройка содержимого баннера

Содержимое баннера разделено на основной заголовок и колонки. Вы можете использовать до 5 колонок, однако рекомендуется использовать 3 или меньше из-за ограничений по ширине. Предоставлены HTML-шаблоны, которые можно настроить под ваши индивидуальные потребности. Вы также можете управлять шириной каждой колонки и добавлять любое изображение или иконку Font Awesome в верхнюю часть каждой колонки.

Использование опции сохранения состояния

Опция сохранения состояния будет использовать до двух файлов cookie. Эти cookie будут содержать имя баннера и значение true/false, относящееся к состоянию баннера. Если у вас есть опасения по поводу использования файлов cookie на вашем сайте, лучше избегать использования этой настройки. Выбор относительного времени для настройки cookie_lifespan гарантирует, что баннер останется закрытым/развернутым/свернутым в течение указанного времени после нажатия пользователем соответствующей кнопки. Без этой настройки баннер сбрасывается при каждой полной загрузке страницы. Если вы внесли изменения в баннер и хотите убедиться, что все пользователи увидят эти изменения, даже те, которые ранее закрыли баннер, обязательно измените «имя cookie». Это по сути сбросит любое сохраненное состояние, а затем позволит пользователю снова закрыть баннер.

Настройки

Название Описание
показывать для участников Отображать баннер для пользователей, вошедших на форум
показывать для анонимов Отображать баннер для анонимных пользователей
отображать на мобильных Отображать баннер на мобильных устройствах
отображать на десктопах Отображать баннер на компьютерах
отображать на главной Отображать баннер на главной странице
url должен содержать Введите пути, на которых должен отображаться баннер. Добавьте * в конец пути как подстановочный знак
закрываемый Разрешить пользователям закрывать баннер
сворачиваемый Разрешить пользователям сворачивать и разворачивать баннер
состояние по умолчанию (свернуто) Состояние по умолчанию при включенной настройке сворачиваемости
срок жизни cookie Срок действия cookie, используемой для запоминания того, был ли баннер закрыт, развернут или свернут. Если установлено значение «none», этот компонент НЕ будет использовать файлы cookie, и любые ранее созданные файлы cookie, связанные с баннером, будут удалены при следующей полной загрузке страницы пользователем. Значения измеряются в виде единой единицы, поэтому установка «year» будет означать один год, «week» — одну неделю и т.д.
имя cookie При внесении важных изменений в баннер необходимо изменить имя cookie, чтобы все ваши пользователи увидели изменения.
баннер на всю ширину Отображать баннер на всю ширину браузера
поменять местами с позицией по умолчанию Если активен другой компонент, связанный с баннером, используйте это, чтобы поменять его местами с Versatile Banner
плагин outlet below-site-header помещает его над боковой панелью, above-main-container помещает его над контентом сбоку от боковой панели
фоновое изображение баннера URL-адрес вашего фонового изображения. Совет: вы можете загрузить изображение в свою основную тему и использовать URL-адрес оттуда, но убедитесь, что вы не используете раздел «Uploads» этого компонента. Любые загрузки, добавленные в этот компонент, будут удалены при каждом его обновлении.
фоновое изображение баннера (темная тема) URL-адрес вашего фонового изображения при обнаружении системной темной темы.
цвет фона Используется вместо фонового изображения
цвет фона (темная тема) Используется вместо фонового изображения при обнаружении системной темной темы.
основной цвет текста Основной цвет текста баннера
основной цвет текста (темная тема) Основной цвет текста баннера при обнаружении системной темной темы
дополнительный цвет текста Цвет текста для иконок и текстовых заголовков, а также цвет фона кнопок.
дополнительный цвет текста (темная тема) Цвет текста для иконок и текстовых заголовков, а также цвет фона кнопок при обнаружении системной темной темы.
цвет текста ссылок Цвет текста ссылок внутри баннера
цвет текста ссылок (темная тема) Цвет текста ссылок внутри баннера при обнаружении системной темной темы.
Перевод Значение по умолчанию
close.title Закрыть баннер
close.label Закрыть
toggle.title Развернуть/Свернуть баннер
toggle.collapse_label Свернуть
toggle.expand_label Развернуть

:discourse2: Размещено у нас? Компоненты тем доступны для использования в наших планах Pro, Business и Enterprise.

101 лайк
Homepage Banner
Homepage specific design and content
Showing two banners: one to anonymous users, and one for logged-in members
Discourse Theme Creation
Activated child Component and broke Discourse!
How to add a simple Banner
Adding a new banner just above the logo
Banner on Discourse
Landing page customization
Message to display to only users without accounts/logged in?
Turned my Discourse into a successful ecommerce platform!
Adding a new banner just above the logo
Ideas for highlighting content on our forum
Impact of component positioning with 2.5.0.beta6
Using an Image for a Global Banner Topic - Dimensions?
Showing a Warning to Non-Registered Users
Customise home login page
Enhancing My engineering Community Landing Page - Technology Support Category
How to add top welcome message to the board
How is the Banner at meta.discourse.org created?
Is it possible to change the order of topics?
Can the new About page be more visible?
Need help to emulate old forum
Creating a banner that only 1 group can see, while the other groups don't
Sticky global notice
Banner text customization for Subscriptions plugin
How to I stop topics automatically un-pinning when a user reaches the bottom?
How to insert Versatile Banner before the content of the post.?
Need guidance for adding description bar
Customizing your site with existing theme components
Homepage Feature
How to Set a Closable Banner at the Top of site?
Order of two items in the same plugin outlet
How to add this type of banner?
Customize Your Site Branding
Can the new About page be more visible?
Asking for advice on "How to create a Banner on the main page"/
No HTML in global notice
Welcome Link Banner theme-component with photos
How to apply CSS code only in the discourse home page?
How to make the automatic dark theme the same as the selected dark theme?
Make the Welcome Banner less intrusive
Your own banner with a link
I want add photo for download my app
How to add title and buttons naturally above forum topics?
Where shall I put this code for a top banner?
Is it possible to insert a box of text between the header and topic list?
How do I create a welcome banner like the one on this site?
Customizing the groups page
What are good plugins or theme components for a forum emphasizing pictures?
Creating a banner to display at the top of your site
Horizon Theme
Missing margin in the .banner- box for Versatile Banner TC
What Are Some Good Welcome Banner Designs?
App interviewer
How minimal is your forum?
How to add a header image and customize it
Category Banners
Как сделать заголовок H1 на главной странице
Как поставить Банер на главной странице
Hover preview and quote of the day
Creating a "Featured Categories" homepage banner
Making my discourse site look a certain way
Help with alignment in the "versatile banner" plugin
Make Banner Undismissable
Can I add a banner only on my homepage?
Welcome message at the top
Globally pinned topic only appears in one category
Pin a post even in the categories home page
How do i turn of unpin/pin option for my forum users?
[PAID] Assistance to Set-up My Forum
Custom HTML on Groups page
Banner diference mobile/web
Help me code menu top same image
Publish a notification at top of the page
How to create a welcome banner/section?
Landing page customization

Всем привет! Я хочу выровнять весь текст по левому краю, но CSS-тема у меня не работает. Подскажите, пожалуйста, как именно это сделать?

3 лайка

Это то, что вы искали?

Если да, вот быстрый и простой CSS, который, надеюсь, поможет вам начать:

.banner-box {
  h1,
  h2,
  h3,
  .row .single-box {
    text-align: left;
    & .banner-list {
      display: block;
      ul {
        margin: 0 0 9px 25px;
      }
    }
  }

  .section-header {
    .x-title {
      padding: 25px 15px;
    }
    .description p {
      text-align: left;
    }
  }
}

Вам нужно создать новый компонент под названием «Versatile Banner Customizations» и добавить вышеуказанный CSS в раздел Common. Обязательно добавьте новый компонент во все активные темы, использующие Versatile Banner, чтобы применить эту настройку.

5 лайков

У меня это сработало. Большое спасибо.

3 лайка

Здравствуйте,

Возможно ли сделать фоновое изображение кликабельным?

Спасибо за ваш ответ.

Можете привести пример?
Зачем вам это нужно?
Я имею в виду… всё фоновое изображение станет ссылкой?
Если пользователь кликнет в любом месте баннера, его перенаправит по этой ссылке.
Не представляю, зачем это может понадобиться.

1 лайк

Как я могу изменить высоту баннера?

1 лайк

Привет @tshenry, я использую компонент темы Versatile Banner, но он исчезает, когда я снимаю галочку «Отображать на компьютере». На самом деле я хочу показывать баннер только на мобильных устройствах.

Однако, когда я снимаю галочку «Отображать на компьютере»… исчезают оба баннера Versatile Banner — и на компьютере, и на мобильном.
Вот ссылка на сайт, если хотите проверить: https://hec.fm

Не упустил ли я что-то?

1 лайк

Возможно ли отображать ссылки горизонтально и на мобильных устройствах? Я был немного удивлен, увидев, что они появляются друг под другом, а не горизонтально.

1 лайк

Спасибо за сообщение! Извините за задержку с ответом. Я смог воспроизвести описанную вами проблему. Я почти уверен, что понимаю, в чём дело. Я займусь этим в конце этой недели и вернусь к вам с ответом.

Высота баннера в первую очередь зависит от его содержимого, но при необходимости вы можете настроить всё с помощью собственного CSS. Я не уверен, насколько удачно вам удастся разместить три колонки горизонтально на мобильном устройстве, но вы определённо можете попробовать это сделать с помощью пользовательского CSS! Ознакомьтесь с рекомендациями по адресу Making custom CSS changes on your site.

4 лайка

Кажется, у меня возник баг на сайте, связанный с временем жизни куки при сохранении состояния развёрнутого/свёрнутого элемента. Я хочу, чтобы мой сайт запоминал, когда пользователи сворачивают или разворачивают баннер, и сохранял это состояние независимо от действий. На главной странице или при переходе по темам всё работает как ожидалось. Однако, как только я захожу в панель администратора, настройки пользователя, FAQ, раздел «О нас», условия использования, политику конфиденциальности или документацию, а затем возвращаюсь на главную, начинаются странные вещи: иногда баннер оказывается в противоположном состоянии, а иногда даже иконка стрелки, указывающая на сворачивание или разворачивание, отображается неверно.

Вот, иконка стрелки направлена вверх:

Но после перехода в раздел документации и возвращения на главную иконка стрелки оказывается в противоположном направлении.

Это выглядит довольно странно…

2 лайка

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

В настройках компонента отмечена опция «Показывать баннер для анонимных пользователей».

При просмотре HTML-кода вижу div с классом ‘banner-box’ внутри вложенных div с классами ‘emberX’, но внутри div с классом ‘banner-box’ ничего нет — в отличие от HTML-кода для авторизованных пользователей.

Есть какие-то идеи, что может быть не так?

1 лайк

Я только что выкатил небольшое обновление для компонента.

Это должно быть исправлено с помощью обновления выше. Мне очень жаль, что так долго пришлось ждать исправления. Ещё раз спасибо за ваш отчёт!

Вам нужно добавить /login в настройку темы «URL должен содержать». Подробнее см. этот пост.

Об этом уже сообщали один или два раза ранее. К сожалению, мне так и не удалось воспроизвести эту проблему. Я попробую снова, когда будет возможность, используя ваши точные шаги, и посмотрю, получится ли у меня что-то.

3 лайка

Я использую Versatile Banner и пытаюсь превратить его в гигантскую ссылку, которая перенаправляет на другой сайт. Как это сделать?

Пытался изменить это через скрипт: api.changeWidgetSetting('banner-content-widget', 'href', '<site_address>'), но Versatile Banner перестал работать.

1 лайк

Спасибо, это отлично! Теперь всё работает идеально! :folded_hands:t2:

2 лайка

Вы, возможно, сможете сделать что-то вроде:

<script type="text/discourse-plugin" version="0.10.0">
  // Добавить ссылку на заголовок
  api.reopenWidget("banner-box-widget", {
    html(attrs) {
      let bannerBox = this._super();
      bannerBox[0].children[1].tagName = "A";
      bannerBox[0].children[1].properties.href = "https://meta.discourse.org";
      return bannerBox;
    }
  });
  
  // Добавить ссылку на остальной контент
  api.reopenWidget("banner-content-widget", {
    html(attrs) {
      let bannerContent = this._super();
      bannerContent.tagName = "A";
      bannerContent.properties.href = "https://meta.discourse.org";
      return bannerContent;
    }
  });
</script>

И добавить правило CSS для настройки цвета ссылки:

.banner-box a {
    color: var(--primary);
}

Если вам не нужна какая-то конкретная функциональность, которую предлагает Versatile Banner, возможно, вам будет проще создать свой собственный простой HTML-баннер в новом компоненте. Примерный вариант:

Добавьте следующее в раздел Common “After Header”:

<a href="https://meta.discourse.org">
  <div class="custom-banner">
    <h2>Это пользовательский баннер!</h2>
  </div>
</a>

А следующее — в раздел Common “CSS”:

 .custom-banner {
   display: flex;
   justify-content: center;
   align-items: center;
   width: $large-width; // 1110px
   height: 200px;
   margin-bottom: 15px;
   background: grey;
   color: white;
 }

Это создаст простой баннер, который полностью кликабелен:

3 лайка

Я устанавливаю этот компонент из git, но, похоже, не получил последний код. Коммит FIX: Work with new sticky header and move away from deprecated $.cookie · discourse/discourse-versatile-banner@0939120 · GitHub не обновился на моём сайте https://ygobbs.com/.

1 лайк

Это связано с тем, что вы используете версию Discourse 2.6.0.beta2. Указанный вами коммит требует версии 2.6.0.beta3 и выше. Обратите внимание, что в этом коммите добавлен файл discourse-compatibility, чтобы предотвратить обновление до коммита, несовместимого с вашей версией Discourse.

5 лайков

Вау, это потрясающе, что Discourse находит для меня более старую версию, вместо того чтобы запрещать установку компонента. Спасибо!

3 лайка

Привет, @tshenry
Я хочу установить компонент несколько раз, чтобы использовать каждый экземпляр для отображения разных баннеров в разных категориях. Поэтому я отключил опцию «Показывать на главной странице» и использовал условие «URL должен содержать», но это мешает работе основного экземпляра, который я использую для отображения компонента только на главной странице. Можете ли вы предложить другое решение или это баг? Спасибо! (:

1 лайк