# Layouts Plugin

**URL:** https://meta.discourse.org/t/layouts-plugin/55208
**Category:** Plugin
**Tags:** pavilion, broken
**Created:** [05.Январь.2017 09:41:13 UTC](https://meta.discourse.org/t/layouts-plugin/55208 "2017-01-05T09:41:13Z")
**Posts on this page:** 20
**Page:** 14

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [10.Июнь.2020 09:30:32 UTC](https://meta.discourse.org/t/layouts-plugin/55208/271 "2020-06-10T09:30:32Z")

</div>

> [@torstensson](#):
>
> Я быстро протестировал это на одном сайте, но обнаружил проблему совместимости при использовании с другими компонентами темы, которые встраиваются между заголовком и основным содержимым: боковые панели фиксируются на высоте, включающей высоту вставленного компонента темы, из-за чего они оказываются «парящими» в середине или нижней половине экрана.

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

> [@torstensson](#):
>
> Также — когда я включаю виджет «Списки тем макетов» в активной теме и активирую его в макетах, появляется белая страница, и мне приходится отключать плагин Layouts и перестраивать систему, чтобы исправить это.

Я посмотрю на этот виджет, спасибо.

---

<div class="post-metadata">

### Author: ![jord8on](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jord8on/32/166809_2.png) [@jord8on](https://meta.discourse.org/u/jord8on)
#### Post date: [20.Июль.2020 03:50:03 UTC](https://meta.discourse.org/t/layouts-plugin/55208/273 "2020-07-20T03:50:03Z")

</div>

Продолжение обсуждения из [Боковая панель с категориями](https://meta.discourse.org/t/sidebar-with-categories/104165/32):

> [@jord8on](#):
>
> У меня есть несколько вопросов…
> 
> 1. Возможно ли добавить подсветку или индикатор, чтобы показывать, в какой категории находится пользователь, выделяя (или иным заметным способом) категорию, которую он сейчас просматривает?
> 2. Возможно ли отображать подкатегории? Например, когда пользователь просматривает категорию, имеющую подкатегории, было бы здорово видеть эту категорию раскрытой с отображением подкатегорий под ней.  
> ➡ ещё один приятный момент: если у категории есть подкатегории, было бы здорово иметь возможность мгновенно увидеть это… возможно, примерно так, как работает функция Discourse «Скрыть детали»…
> 
> ## Пример…
> 
> 🔹 Категория 1
> 
> 🔸 Подкатегория 1
> 
> 🔸 Подкатегория 2
> 
> 🔹 Категория 2
> 
> 🔹 Категория 3
> 
> 🔹 Категория 4

Я задал этот вопрос ⬆︎ в обсуждении плагина по адресу [Sidebar with categories - #30 by Stranik](https://meta.discourse.org/t/sidebar-with-categories/104165/30).

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

# Требования:

Хочу, чтобы категории в меню боковой панели отображали основные категории, а категории, имеющие подкатегории, явно указывали на это. Затем при клике на такую категорию должны отображаться её подкатегории. И последнее ключевое требование: независимо от того, где вы находитесь на форуме, боковая панель должна показывать источник/местоположение активного обсуждения, которое вы просматриваете.

Например, если кто-то заходит на наш форум через органический поиск Google и оказывается в теме внутри подкатегории, мы хотим, чтобы он видел, что находится в подкатегории, которая принадлежит основной категории.

Не уверен, насколько сложно будет разработать это и/или сколько это будет стоить, но если кто-то сможет помочь с этим, пожалуйста, дайте знать!

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [20.Июль.2020 05:10:19 UTC](https://meta.discourse.org/t/layouts-plugin/55208/275 "2020-07-20T05:10:19Z")

</div>

Привет 🙂

Это очень похоже на то, что у нас на [thepavilion.io](http://thepavilion.io)

 ![Screen Shot 2020-07-20 at 3.05.19 PM](https://global.discourse-cdn.com/meta/original/3X/e/2/e294dfc56b80bdf677b0b9791ea17de433502edc.png)

Это реализовано с помощью [плагина Layouts](https://meta.discourse.org/t/custom-layouts-plugin/55208) и [виджета списка категорий Layouts](https://github.com/paviliondev/layouts-category-list-widget).

 ![Screenshot at Jul 20 15-09-39](https://global.discourse-cdn.com/meta/original/3X/9/6/96352b03082dd25cdef920dfdaf094e7b6d91ecd.png)

---

<div class="post-metadata">

### Author: ![jord8on](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jord8on/32/166809_2.png) [@jord8on](https://meta.discourse.org/u/jord8on)
#### Post date: [21.Июль.2020 13:36:29 UTC](https://meta.discourse.org/t/layouts-plugin/55208/277 "2020-07-21T13:36:29Z")

</div>

> [@angus](#):
>
> Это достигается с помощью [плагина Layouts](https://meta.discourse.org/t/custom-layouts-plugin/55208) + [виджета списка категорий Layouts](https://github.com/paviliondev/layouts-category-list-widget).

Мне очень нравится эта настройка, это именно то, что мы искали! Я установил **плагин Layouts** , а затем установил **список категорий Layouts** (используя [установщик ProCourse](https://meta.discourse.org/t/procourse-installer-installing-removing-plugins-via-the-ui/115476)), и я вижу все настройки Layouts. Но я не уверен, как _включить_ виджет **списка категорий Layouts**.

{details=“Вот наши текущие настройки (скриншот)”}

 ![Admin - Pickleball Forum Community Hub 2020-07-21 07-33-50](https://global.discourse-cdn.com/meta/original/3X/8/0/80c993544c43689edd6334ed2f5ea646c30d9fa0.png)  
{/details}

После установки **виджета списка категорий** должны ли мы видеть его в выпадающем списке виджетов после установки?

Вот что мы видим сейчас…

 ![Admin - Pickleball Forum Community Hub 2020-07-21 07-34-14](https://global.discourse-cdn.com/meta/original/3X/6/2/6230b76258caeee0c5a27925a05382a08e37208b.png)

Вы можете посмотреть наш форум и увидеть, что боковая панель шириной 250 пикселей работает… но я просто не знаю, как заставить список категорий отображаться… [https://forums.pickleballist.com](https://forums.pickleballist.com)

---

<div class="post-metadata">

### Author: ![jord8on](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jord8on/32/166809_2.png) [@jord8on](https://meta.discourse.org/u/jord8on)
#### Post date: [22.Июль.2020 21:53:56 UTC](https://meta.discourse.org/t/layouts-plugin/55208/278 "2020-07-22T21:53:56Z")

</div>

@angus, есть ли у тебя какие-то идеи, что я упускаю?

Не совсем понимаю, как заставить виджет «Список категорий» отображаться после установки. 🤔

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [22.Июль.2020 21:58:51 UTC](https://meta.discourse.org/t/layouts-plugin/55208/279 "2020-07-22T21:58:51Z")

</div>

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

---

<div class="post-metadata">

### Author: ![jord8on](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jord8on/32/166809_2.png) [@jord8on](https://meta.discourse.org/u/jord8on)
#### Post date: [22.Июль.2020 22:02:21 UTC](https://meta.discourse.org/t/layouts-plugin/55208/280 "2020-07-22T22:02:21Z")

</div>

Огромное спасибо!! 🙌 Я собирался предложить добавить **виджет «Список категорий»** к другим примерам виджетов в первом посте, но, похоже, вы уже занимаетесь его обновлением! Спасибо, что делитесь своей работой с сообществом!!

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [27.Июль.2020 12:46:46 UTC](https://meta.discourse.org/t/layouts-plugin/55208/284 "2020-07-27T12:46:46Z")

</div>

Теперь доступна полная документация для этого плагина 🎉. Вы можете найти её по ссылке ниже:

> **[Pavilion](https://pavilion.tech/)**
>
> Pavilion is the leading Discourse consultancy.

Я также обновил первое сообщение в этой теме, добавив различные ссылки и описания.

> [@angus](#):
>
> 🖥 [**Получить код**](https://github.com/paviliondev/discourse-layouts)
> 
> 📄 [**Читать документацию**](https://thepavilion.io/c/knowledge/layouts)
> 
> 🙋‍♀️ **[Запросить новую функцию](https://thepavilion.io/w/feature-request)**
> 
> 🐛 **[Сообщить об ошибке](https://thepavilion.io/w/bug-report)**
> 
> #### Быстрые ссылки
> 
> [Когда следует использовать плагин Layouts](https://thepavilion.io/t/about-the-layouts-plugin/2891#when-you-should-use-the-layouts-plugin)  
> [Преимущества плагина Layouts](https://thepavilion.io/t/about-the-layouts-plugin/2891#the-advantages-of-the-layouts-plugin)  
> [Установка и настройка](https://thepavilion.io/t/installation-and-setup/3200)

---

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [27.Июль.2020 13:05:14 UTC](https://meta.discourse.org/t/layouts-plugin/55208/285 "2020-07-27T13:05:14Z")

</div>

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

Даже как в панели задач Windows, когда она настроена на автоматическое скрытие, это удобно, потому что другие программы не сдвигаются из-за высоты этой панели.

У меня установлены плагины «Макеты» и «Список категорий». Я знаю, как добавлять виджеты для настройки боковой панели. Единственное, о чём я прошу, — это возможность автоматического скрытия этой боковой панели.

Даже в Flarum эта функция реализована по умолчанию:

 ![image](https://global.discourse-cdn.com/meta/original/3X/f/4/f48cfcfb049a9dc4135849183d29157f131bdfb8.png)

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [27.Июль.2020 23:07:33 UTC](https://meta.discourse.org/t/layouts-plugin/55208/286 "2020-07-27T23:07:33Z")

</div>

Да, вы можете создать это с помощью этого плагина. Это потребует создания нового виджета, упакованного в компонент темы. Если вы заинтересованы в самостоятельной разработке, дайте мне знать, и я помогу вам или буду менторить вас. Или вы всегда можете нанять [Pavilion](http://thepavilion.io) для разработки.

---

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [27.Июль.2020 23:11:33 UTC](https://meta.discourse.org/t/layouts-plugin/55208/287 "2020-07-27T23:11:33Z")

</div>

Сейчас нет. Я ещё новичок в Discourse. Сначала мне нужно научиться создавать плагины. Вероятно, я начну с разработки простых плагинов, например, добавления пользовательских bb-кодов или кнопок в редактор. Тем не менее, я считаю, что эта функция была бы полезна многим пользователям.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [28.Июль.2020 03:04:37 UTC](https://meta.discourse.org/t/layouts-plugin/55208/288 "2020-07-28T03:04:37Z")

</div>

Круто, раз уж вы настроены, я только что добавил первую версию руководства по разработке виджета «Макеты» в документацию

> **[Pavilion](https://pavilion.tech/)**
>
> Pavilion is the leading Discourse consultancy.

---

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [28.Июль.2020 03:19:23 UTC](https://meta.discourse.org/t/layouts-plugin/55208/289 "2020-07-28T03:19:23Z")

</div>

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

---

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [01.Август.2020 02:01:42 UTC](https://meta.discourse.org/t/layouts-plugin/55208/290 "2020-08-01T02:01:42Z")

</div>

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

Однако, когда я выбираю что-либо, кроме «Все категории», система не принимает выбор и бесконечно загружается.

 ![image](https://global.discourse-cdn.com/meta/original/3X/8/8/88721ce56ddfa1358a74821e840960fefd5a35aa.png)

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

Как воспроизвести проблему:

**Просто выберите одну или несколько категорий, отличных от «Все категории», в виджете «Список категорий».**

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [03.Август.2020 01:47:50 UTC](https://meta.discourse.org/t/layouts-plugin/55208/291 "2020-08-03T01:47:50Z")

</div>

> [@AntiMetaman](#):
>
> Когда я выбираю что-либо, кроме «всех категорий», система не принимает выбор и загружается бесконечно долго.

Спасибо, я исправил эту проблему 👍

> <https://github.com/paviliondev/discourse-layouts/commit/6f9cef968c9790655497a606de19a5d40c22de8d>

---

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [03.Август.2020 03:31:33 UTC](https://meta.discourse.org/t/layouts-plugin/55208/292 "2020-08-03T03:31:33Z")

</div>

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

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [03.Август.2020 07:33:11 UTC](https://meta.discourse.org/t/layouts-plugin/55208/293 "2020-08-03T07:33:11Z")

</div>

Пожалуйста, убедитесь, что у вас установлена последняя версия Discourse и плагина, а также вы обновили страницу. Это работает на последней версии Discourse.

Смотрите, например: [https://try.thepavilion.io/](https://try.thepavilion.io/)

 ![Screen Shot 2020-08-03 at 5.31.56 PM](https://global.discourse-cdn.com/meta/original/3X/e/e/ee4e8f1945c6fff1f923f60c98e2c39ff943dfc7.png)

---

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [03.Август.2020 11:26:01 UTC](https://meta.discourse.org/t/layouts-plugin/55208/294 "2020-08-03T11:26:01Z")

</div>

Спасибо, теперь всё работает. Если бы ещё можно было сворачивать его (появлялось бы при наведении мыши к левому краю), это было бы идеально.

---

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [03.Август.2020 12:12:58 UTC](https://meta.discourse.org/t/layouts-plugin/55208/295 "2020-08-03T12:12:58Z")

</div>

Можно ли отключить отображение боковой панели на главной странице? Я выбрал конкретные категории, где должен отображаться виджет со списком категорий, и он действительно появляется там, но также показывает его и на главной странице, чего я не хочу. Главная страница — это [forum.mydomain.com](http://forum.mydomain.com), и поскольку на главной странице Discourse по умолчанию уже есть стандартная навигация, боковая панель там не нужна.

---

<div class="post-metadata">

### Author: ![AntiMetaman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/antimetaman/32/186978_2.png) [@AntiMetaman](https://meta.discourse.org/u/AntiMetaman)
#### Post date: [03.Август.2020 16:01:57 UTC](https://meta.discourse.org/t/layouts-plugin/55208/296 "2020-08-03T16:01:57Z")

</div>

После последнего обновления Discourse боковая панель больше не отображается. Все плагины обновлены, и я использую последнюю версию.

[Previous page](https://meta.discourse.org/t/layouts-plugin/55208.md?page=13)

[Next page](https://meta.discourse.org/t/layouts-plugin/55208.md?page=15)
