Рекомендуемые темы

Спасибо за обновление! :heart:

С помощью некоторых CSS-хаков я переместил аватар поверх миниатюры в режиме карточки:

.featured-topics__topic-details .topic-author {
    position: absolute;
    right: 30px;
    bottom: 30px;
}

Как мне уменьшить высоту div-элемента автора темы (фиолетового) до 0 и тем самым убрать зазор, сохранив при этом отображение аватара?

1 лайк

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

Например, вы можете скопировать стили по умолчанию для карточек и объявить контейнер featured-topics__topic-details в виде сетки. Тогда вы сможете позиционировать его элементы точно так, как вам нужно, вместо того чтобы перемещать их с помощью абсолютных объявлений.

2 лайка

Отличная идея!

На данный момент мы довольны шаблоном и планируем внести лишь несколько небольших правок в CSS для первоначального тестирования. Когда мы перейдем к этапу оптимизации CTR, скорее всего, последуем вашему совету. :slight_smile:

2 лайка

Не уверен, является ли это ожидаемым поведением или багом:

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

Если кому-то интересно использовать горизонтальную прокрутку на мобильных устройствах, вот CSS-код, который «я» создал (с помощью ИИ). Он также включает настройки привязки прокрутки и размеров, которые, как я обнаружил, лучше подходят для нашего случая использования.

PS: Я также пытался создать навигационные кнопки без добавления HTML, но это явно было слишком сложно.

@media (max-width: 750px) {
  .featured-topics__topic-wrapper {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding: 1em 10vw; /* Отступы по бокам для видимости соседних карточек */
    gap: 1rem; /* Последовательный отступ между карточками */
    overscroll-behavior-x: contain; /* Предотвращение вмешательства при перепрокрутке */
    scroll-behavior: smooth; /* Плавная прокрутка */
    scrollbar-width: none; /* Скрыть полосу прокрутки */
    -ms-overflow-style: none;
  }

  .featured-topics__topic-wrapper::-webkit-scrollbar {
    display: none; /* Скрыть полосу прокрутки в браузерах на базе WebKit */
  }

  .featured-topics__topic-container {
    flex: 0 0 80vw; /* Более узкие карточки для видимости по бокам */
    min-width: 280px; /* Минимальная ширина для маленьких экранов */
    scroll-snap-align: center; /* Центрировать каждую карточку при прокрутке */
    height: unset !important; /* Последовательная высота */
  }

  .featured-topics__topic-thumbnail {
    height: 40vw;
    width: 100%;
  }
}

Привет, огромное спасибо за этот компонент, он мне очень нравится!

Не мог бы кто-нибудь помочь с изменением размера заголовка, так как сейчас он слишком большой?

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

Я обновил компонент в начале этого года. Чтобы использовать новую версию, вам нужно переустановить его. Подробнее: :index_pointing_up: Featured Topics - #38 by manuel

1 лайк

О, большое спасибо, всё сработало!

Единственное, что я не могу исправить (я, наверное, уже час подкалываю Chat GPT…), — это высота карточек. Есть какие-то советы, как её уменьшить или убрать?

Привет, Мануэль! Можно ли настроить твой замечательный компонент темы так, чтобы он игнорировал изображения (и показывал только отрывок)?

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

Шаблон компонента отображает разнообразный контент, доступный по теме. Итоговый вид затем корректируется с помощью правил стилей. Например, когда вы выбираете «карточки» в качестве макета, краткие описания тем скрываются, если есть основное изображение, и отображаются, если его нет:

Если вы всегда хотите отображать краткое описание и никогда не показывать изображение, вы можете либо выбрать «нет» в разделе Макет и добавить собственную таблицу стилей, либо переопределить правила макета «карточки», которые показывают изображение и скрывают краткое описание.

1 лайк

Я думаю, это отличный компонент!

Признаюсь, я потратил два-три дня, пытаясь научиться создавать компонент темы, который делал бы ровно то же, что и этот. Я не считаю это время потраченным впустую, потому что я многому научился, но всё же хотел бы раньше последовать совету с форума ask.discourse и ознакомиться с этим компонентом.

Одна вещь, в которой я не могу разобраться

Мне нравится макет карточек, но я хотел бы отображать миниатюру и отрывок в этом макете. Буду признателен за любые подсказки.

Вместо этого я остановился на макете списка, но хотел изменить несколько вещей. Я добавил их во вкладку common.css. Возможно, это поможет кому-то ещё.

Чтобы скрыть тег темы

.featured-topics__topic-tag {
    display: none;
}

Чтобы скрыть аватар автора

.featured-topics__wrapper .topic-author {
    display: none;
}

Чтобы скрыть ссылку на категорию

.featured-topics__wrapper .category-link {
    display: none;
}

Редактирование: добавил

Я оставлю исходный пост выше без изменений, но хотел бы добавить

как показать отрывок в виде карточек

.featured-topics__topic-container.thumbnail .topic-excerpt {
    display: contents;
}

Также мне больше нравится макет списка на компьютере, чем макет карточек, но на мобильных устройствах он выглядит ужасно. Миниатюра находится слева, а заголовок и отрывок — в узком столбце справа. Я ещё не понял, как сделать так, чтобы текст обтекал миниатюру или чтобы все элементы располагались в одном столбце друг под другом.

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

Это отличный компонент и плагин, спасибо за вашу работу!
Однако, похоже, есть проблема с тем, что содержимое не обновляется, если не выполнить полную перезагрузку страницы, нажав F5.
Например:
Я создаю тему с тегом «Рекомендуемое».
Я перехожу на главную страницу, нажав на баннер сайта.
Тема должна отображаться в разделе «Рекомендуемые темы», но её нет.
Она появляется только после перезагрузки страницы через клавишу F5. Даже если снова нажать на баннер, она не появится.
То же самое происходит, если я удаляю рекомендуемый пост. Он исчезает только после перезагрузки страницы через F5 или если закрыть вкладку и снова открыть страницу.
Есть какие-либо идеи, почему это происходит?

1 лайк

Это сделано намеренно. Содержимое не обновляется динамически, оно отражает состояние на момент загрузки страницы. Обычно это не является проблемой, так как для любого нового посетителя сайта содержимое будет актуальным.

3 лайка

Только начал изучать этот компонент. Похоже, он может отлично решить некоторые из наших задач. Спасибо. При тестировании я заметил, что может возникать конфликт с компонентом заголовка выпадающего меню Pavilion.

При тестировании вашего компонента в режиме предпросмотра заголовок выпадающего меню Pavilion исчезает. Это известная проблема? Есть ли способ решить её и сохранить выпадающие меню, одновременно используя улучшенный вид, который предоставляет раздел «Рекомендуемые темы»?