# Встраивание целого форума Discourse на другой сайт в iframe

**URL:** <https://meta.discourse.org/t/embedding-a-whole-discourse-forum-on-another-site-in-an-iframe/157631>\
**Category:** Product Support\
**Created:** [13.Июль.2020 19:11:12 UTC](https://meta.discourse.org/t/embedding-a-whole-discourse-forum-on-another-site-in-an-iframe/157631 "2020-07-13T19:11:12Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![trusktr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/trusktr/32/116841_2.png) [@trusktr](https://meta.discourse.org/u/trusktr)\
**Post date:** [13.Июль.2020 19:11:12 UTC](https://meta.discourse.org/t/embedding-a-whole-discourse-forum-on-another-site-in-an-iframe/157631/1 "2020-07-13T19:11:12Z")

</div>

Об этом уже обсуждалось в двух других темах, но они закрыты:

- [How to embed whole forum in another site](https://meta.discourse.org/t/how-to-embed-whole-forum-in-another-site/32205)
- [Embed whole forum](https://meta.discourse.org/t/embed-whole-forum/150497)

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

По опыту скажу: это _очень_ сложно реализовать. Разметка и CSS для неё крайне сложны в работе и негибки. Например, деревья DOM в заголовке Discourse и в основном контенте сильно различаются. Вставка содержимого заголовка (встроенный редактор Discourse) приводит к тому, что вставленный контент оказывается далеко от реального заголовка Discourse.

Поверьте, просто «заставить ваш Discourse следовать теме вашего основного сайта» — задача не из лёгких.

Что я хотел бы попробовать дальше, так это встроить Discourse в `<iframe>`. Посмотрим, как это сработает.

* * *

Предложение по улучшению! Было бы здорово, если бы Discourse можно было использовать как набор пользовательских элементов. Например:

```html
<!-- ... какая-то пользовательская разметка ... -->

<discourse-actions backend="http://url.to/actual/discourse/instance">

<!-- ... какая-то пользовательская разметка ... -->

<discourse-main backend="http://url.to/actual/discourse/instance">

```

Это позволило бы встраивать части Discourse в любом месте сайта, а элементы подключались бы к указанному бэкенду.

При прямом переходе по адресу `http://url.to/actual/discourse/instance` Discourse открывался бы как обычно — в виде отдельного веб-приложения.

По сути, это сделало бы части Discourse используемыми в рамках общих HTML-структур (как частичные шаблоны Handlebars, но с перспективой на будущее и на основе веб-стандартов).

Только представьте, что ещё стало бы возможным с такой функцией (подумайте, например, о том, когда пользовательские элементы имеют разные значения атрибутов `backend`)…

---

_[View the full topic](https://meta.discourse.org/t/embedding-a-whole-discourse-forum-on-another-site-in-an-iframe/157631)._
