Это руководство объясняет, как настроить параметр «Разрешённые селекторы для встраивания» в Discourse. Этот параметр критически важен при публикации постов с внешнего сайта в Discourse или при встраивании комментариев Discourse на внешний сайт с помощью JavaScript.
Требуемый уровень пользователя: Администратор
Для продвинутого использования требуются базовые знания CSS
При публикации постов в Discourse с внешнего сайта или при встраивании комментариев Discourse на внешний сайт вы можете столкнуться с проблемой, когда кнопка «Показать полный пост» не загружает правильный контент. Это руководство поможет вам настроить параметр «Разрешённые селекторы для встраивания», чтобы решить эту проблему.
Понимание проблемы
Когда пользователи нажимают кнопку «Показать полный пост», Discourse может не загружать правильный контент поста с вашего внешнего сайта. Именно здесь вступает в действие параметр «Разрешённые селекторы для встраивания».
Поиск параметра
Параметр «Разрешённые селекторы для встраивания» можно найти в двух местах:
- Найдите «Разрешённые селекторы для встраивания» на странице настроек вашего сайта.
- Перейдите в Администрирование > Настройка > Встраивание, затем выберите вкладку Крайеры.
Определение правильных CSS-селекторов
Чтобы найти подходящие CSS-селекторы:
- Перейдите к посту на вашем внешнем сайте, который вы опубликовали в Discourse.
- Откройте веб-инспектор вашего браузера и изучите структуру HTML поста.
- Определите HTML-элементы, которые непосредственно окружают основной контент поста.
Например, в типичном посте WordPress контент часто находится в div с классом .entry-content внутри тегов article. В этом случае в качестве CSS-селектора можно использовать article .entry-content.
Настройка параметра
Чтобы загружать различные типы контента с вашего внешнего сайта, вам может потребоваться добавить несколько селекторов. Например:
article .entry-content img, article .entry-content p, article .entry-content ul
Этот пример нацеливается на изображения, абзацы и маркированные списки внутри контента записи статьи.
Тестирование и устранение неполадок
Поиск правильных селекторов может потребовать некоторых проб и ошибок. Имейте в виду:
- Discourse кэширует контент внешних постов в течение 10 минут, поэтому изменения могут быть не видны сразу.
- Чтобы обойти это, протестируйте с несколькими постами или очистите кэш на тестовом сайте, используя
Rails.cache.clearв консоли Rails.
Работа с изображениями
Если у вас возникают проблемы с загрузкой изображений с вашего веб-сайта, убедитесь, что ваши CSS-селекторы включают соответствующие элементы изображений. Например:
article .entry-content img
Этот селектор нацеливается на изображения внутри контента записи статьи.
Дополнительные соображения
- Параметр «Разрешённые селекторы для встраивания» применяется как к постам, опубликованным через API, так и к постам, загруженным с помощью скрипта встраивания Discourse.
- Вам может потребоваться настроить селекторы в зависимости от структуры вашего конкретного веб-сайта и типов контента.
- Не забудьте сохранить изменения после обновления параметра.


