Предварительный просмотр категорий

Этот компонент позволит вам добавлять «предварительные просмотры категорий» на страницу категорий, чтобы пользователи могли видеть существование категории, даже не имея доступа к самой категории. Предварительный просмотр выглядит как стандартная категория, но может вести на указанную страницу, где пользователю объясняется, как получить доступ.

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

Демонстрация создателя тем

:warning: Для работы этого функционала необходимо быть авторизованным в аккаунте на Meta

  1. Перейдите по адресу https://theme-creator.discourse.org и войдите в систему, используя кнопку в заголовке, если вы ещё не авторизованы.

  2. Используйте следующую ссылку для активации предварительного просмотра этого компонента: https://theme-creator.discourse.org/theme/tshenry/category-previews

  3. Прокрутите список категорий вниз, пока не найдёте категорию «предварительный просмотр ограниченной категории», и попробуйте перейти в неё:

  4. Вас перенаправит на опубликованную страницу с инструкциями о том, как продолжить доступ к категории:

Настройки

Я постарался максимально подробно объяснить работу этого компонента в настройках темы. Процесс настройки не самый интуитивный, поэтому не стесняйтесь задавать вопросы — я обновлю инструкции для большей ясности.

Дополнительные примечания

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

  • В настоящее время этот компонент не работает со стилями страницы категорий «Коробки с избранными темами» или «Подкатегории с избранными темами». Если поступит достаточно запросов, я рассмотрю возможность добавления поддержки.
  • К предварительным просмотрам, отображаемым над конкретной категорией, добавляются классы above-$CATEGORY. Это можно использовать для добавления дополнительных стилей.
  • Этот компонент не работает с подкатегориями, отображаемыми на странице категорий.
  • Пользователи со статусом персонала и анонимные пользователи всегда будут видеть предварительные просмотры категорий.
  • Обращайте особое внимание на примечания ВАЖНО в настройках темы.

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

41 лайк
Private category, visible but hidden topics/threads
How do I allow people to see categories but not access topics?
Discourse Category Lockdown
Non-members and topic security
Premium Categories Visibility
Lock topic content for logged out users
"Will be opened later" status for category
Asking for access to a private category
Tighter integration of account-creation and subscriptions?
Tighter integration of account-creation and subscriptions?
Can Category Names Be Public While Topics Remain Private
Is it possible for a user to select categories to have in cat list (not only at registration but anytime)
Locked category only for specific members
Category, Group, Tag Descriptions as Topics
Gated Topics in Category
Show hidden categories
Show hidden categories
Show hidden categories
Configuring group access, membership, and visibility
Display locked category but not it's content
Login required to see topic info
Private Group Facebook Like
Several questions about management right
Enabling category previews for restricted paid access categories
Hide all topics in a specific category but show the category
How to force existing users to accept ToS
How to properly set up a pinned "user reviews" for my trading category?
[PAID] Modify the "Category Previews" theme to make it work with a limited visibility Group
Paid Groups
Have category name visible, but not posts within the category
Paid Groups
I need a theme to promote some hidden categories
Paid Groups
How to make certain posts visable to users without accounts whilst having the 'login required' setting enabled?
New Category Permission
Preventing non-registered users from viewing posts
Configuring group access, membership, and visibility
Categories as private rooms, that are publicly visible?
Publicly display a private category

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

6 лайков

Пользователи с правами сотрудников и анонимные пользователи всегда будут видеть превью категорий.

То есть те, кто не зарегистрировался на форуме, могут видеть содержимое категорий?

Анонимные пользователи не смогут заглянуть внутрь реальной ограниченной категории. Они увидят только предварительный просмотр категории. Персонал может видеть и получать доступ ко всему. Вот примерный список категорий:

Пользователь с правами персонала (всегда видит оба варианта)

  • Ограниченная категория
  • Предварительный просмотр ограниченной категории
  • Публичная категория

Анонимный пользователь (видит только предварительный просмотр)

  • Предварительный просмотр ограниченной категории
  • Публичная категория

Авторизованный пользователь с доступом к ограниченной категории (предварительный просмотр не нужен, поэтому никогда не показывается)

  • Ограниченная категория
  • Публичная категория
7 лайков

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

category-slug~Название категории~Только для участников~https://discourse.example.com/signup~trust_level_0

4 лайка

Извините, я, наверное, новичок.

Но пункт 1 в порядке. Это несложно.
Когда я нажимаю на ссылку в пункте 2, вижу следующее:

Когда я перехожу в «Просмотр темы», там появляется кнопка «Установить»:

Я не хочу на неё нажимать, боюсь, что это изменит весь мой форум.

Помогите, пожалуйста, и ещё раз извините.

Хм, у меня не получается такого же поведения. Я только что проверил шаги демонстрации, и всё, похоже, работает правильно:

Для ясности: демонстрация на нашем сайте создателя тем — это просто пример использования. Вам нужно установить её на свой собственный сайт, следуя инструкциям по установке в конце исходного поста.

4 лайка

Да, я понял, спасибо! lol

Но в конце концов, как установить это на наш собственный сайт?

Как уже упоминалось, в исходном посте есть инструкции:

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

4 лайка

Да, моя вина, не заметил ссылку на GitHub. Большое спасибо за ваше время.

2 лайка

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

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

Можете ли вы привести пример того, что нужно ввести вместо «Add item…»? Скажите, правильно ли я понимаю?

category-slug : Название категории, которую нужно сделать закрытой
Preview name : Пример: Моя закрытая категория
Preview Description : Пример: «Это закрытая категория»
URL : https://example.com/c/ category-slug /12
Group : Это название группы, которая будет иметь доступ к закрытой категории.

2 лайка

Вы отлично справляетесь с английским языком :slight_smile: Настройка этого даже для носителей английского языка может быть непростой.

Да, вам стоит следовать этому руководству: Understanding groups and category permissions

Почти верно!

Если это поможет, вот что у меня настроено в параметрах темы для демо-версии:

junk~restricted category preview~Эта категория доступна только членам пользовательской группы "joinable-group". Выберите, чтобы узнать больше.~https://theme-creator.discourse.org/pub/logged-in-user-access~joinable_group

И как это соотносится с описанием параметра темы:

Часть параметра темы Значение
category-slug junk
Название превью restricted category preview
Описание превью Эта категория доступна только членам пользовательской группы "joinable-group". Выберите, чтобы узнать больше.
https://example.com https://theme-creator.discourse.org/pub/logged-in-user-access
group joinable_group

А вот диаграмма, показывающая, как связаны различные части:

На изображении « :lock: restricted» — это реальная категория, доступная только пользователям группы joinable_group (а также сотрудникам по умолчанию).

9 лайков

Спасибо за твое время, чувак. Окей, окей, так гораздо понятнее. И на самом деле это было не так очевидно ^^

Так что давай сделаем это! И ещё раз спасибо :slight_smile:

1 лайк

Привет, это снова я ^^

Итак, я разместил настройки здесь:

У меня есть несколько вопросов:

1: Как создать URL?
2: Когда мы вводим настройки рядом с «предпросмотром категорий» и подтверждаем это, всё готово?
3: Я сделал это, но не могу увидеть приватную категорию. Нужно ли создавать её вручную или нет?

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

1 лайк

Привет :slight_smile:

  1. Какой URL? Можете поделиться полным значением настройки темы category previews на вашем скриншоте? Я смогу дать вам рекомендации на основе того, что вы ввели в эту настройку.

  2. Когда вы вносите изменения в настройку category previews, кликните вне текстового поля, и должны появиться две кнопки. Используйте зелёную, чтобы сохранить изменения. После сохранения вам нужно обновить любые открытые вкладки или окна браузера, чтобы увидеть результат.

  3. Предполагая, что Groupe privee — это уже созданная вами категория, вам нужно найти и использовать её слаг. Скорее всего, он будет выглядеть примерно так: group-privee. Вы можете это подтвердить, перейдя в категорию Groupe privee и посмотрев на адресную строку вашего браузера. Например, категория #theme здесь, на Mete, использует слаг theme:

    image

1 лайк

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

Вот предварительный просмотр категории: Groupe privee~Parlons societe offshore~Эта категория доступна только пользователям, вступившим в группу.~https://forum.objectifhijra.com/pub/logged-in-user-access~groupe_joignable

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

Да, я говорил о URL в предварительном просмотре категории. Как мы формируем этот URL? Или, если нужно создать категорию заранее, я беру URL, который генерирует Discourse.

1 лайк

Есть несколько моментов, которые нужно прояснить:

  1. Ваш форум использует стили с категориями в рамках, поэтому это не будет работать. Из оригинального поста:

  2. Первая часть вашей настройки (Group privee) должна быть слагом существующей публичной категории. Предпросмотр будет отображаться над этой категорией. Это не должно быть названием категории, которую вы пытаетесь предпросмотреть.

  3. Похоже, что URL, который вы используете (https://forum.objectifhijra.com/pub/logged-in-user-access), не является реальной опубликованной страницей. Вам нужно создать опубликованную страницу, следуя инструкциям на Page Publishing, и использовать сгенерированную ссылку на эту страницу.

  4. Убедитесь, что у вас действительно есть группа с именем groupe_joignable.

К сожалению, я не уверен, что смогу помочь вам дальше. Это довольно сложно объяснить самостоятельно, и, думаю, языковой барьер только усугубляет ситуацию. Что я могу порекомендовать, так это разместить пост в нашей категории Marketplace, чтобы посмотреть, сможете ли вы нанять кого-то, кто войдет на ваш сайт и поможет вам напрямую.

3 лайка

Ничего, бро. Я всё понял! Спасибо.

Мне так грустно, что это не работает со стилем «категории в рамке» :frowning:

Что мне делать…

В любом случае, спасибо за всё. Я уверен, что это поможет другим людям.

2 лайка

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

  1. Должны ли анонимные пользователи (не авторизованные) видеть элемент предварительного просмотра категории в списке /categories? Я надеялся, что они смогут увидеть, что доступно, чтобы побудить их создать учётную запись, но в моих тестах пока не удалось этого добиться.

  2. Могут ли администраторы видеть предварительный просмотр категории, даже если они состоят в указанной группе, которая не должна его видеть? Я состою в group-x, как указано в строке, но всё ещё вижу этот элемент выше фактически ограниченной категории.

4 лайка

Конечно, это один из самых важных сценариев, который должен покрывать этот компонент! Убедитесь, что вы используете слаг категории, над которой должен появиться предварительный просмотр. Если это поможет, этот пост подробнее разбирает настройки, чем исходное сообщение.

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

4 лайка