# Улучшение удобства настройки авто-сетки для менее чем 3 изображений

**URL:** https://meta.discourse.org/t/improve-convenience-in-setting-of-auto-grid-less-than-3-images/406731
**Category:** Feature
**Tags:** lightbox
**Created:** [03.Июль.2026 07:40:22 UTC](https://meta.discourse.org/t/improve-convenience-in-setting-of-auto-grid-less-than-3-images/406731 "2026-07-03T07:40:22Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [03.Июль.2026 07:40:22 UTC](https://meta.discourse.org/t/improve-convenience-in-setting-of-auto-grid-less-than-3-images/406731/1 "2026-07-03T07:40:22Z")

</div>

## Настраиваемое минимальное количество изображений для автоматических сеток

Я столкнулся с ограничением функции автоматических сеток изображений.

В настоящее время поведение автоматической сетки, похоже, контролируется параметром сайта для автоматических сеток изображений, но фактический порог, при котором редактор вставляет `[grid]...[/grid]`, всё ещё задан жёстко в клиентском коде.

Соответствующая логика редактора в настоящее время использует жёстко заданное значение:

```js
const MIN_IMAGES_TO_AUTO_GRID = 3;

```

Так что, насколько я могу судить, у администраторов на данный момент есть выбор между:

| Что могут сделать администраторы сейчас | Результат |
| --- | --- |
| Включить автоматические сетки изображений | Загрузки из 3 или более последовательных изображений автоматически оборачиваются в `[grid]...[/grid]` |
| Отключить автоматические сетки изображений | Нет автоматического оборачивания в сетку |
| Изменить порог с 3 на другое число | В настоящее время недоступно как параметр сайта |

Проблема в том, что `3` не обязательно является правильным порогом для каждого сообщества.

Для некоторых сайтов автоматические сетки полезны, но только когда пользователи загружают большую партию изображений. Например, администратор может захотеть, чтобы автоматическая сетка начиналась с 5, 6, 10 или другого значения, а не срабатывала сразу после загрузки 3 изображений.

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

## Предлагаемое направление

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

Что-то вроде:

````plaintext
auto_grid_images_minimum_count
```\n
Например:

| Параметр | Пример значения |
| --- | --- |
| `enable_auto_grid_images` | `true` |
| `auto_grid_images_minimum_count` | `5` |

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

Это сохраняет существующее поведение по умолчанию, если новое значение по умолчанию равно `3`, одновременно давая администраторам больше контроля.

## Экспериментальная ветка / возможный старт

Я создал небольшую экспериментальную ветку здесь, на случай если кто-то с большим опытом разработки Discourse найдёт время, чтобы форкнуть её, очистить или развить идею:

[ветка image-grid-num-setting](https://github.com/Ethsim12/discourse/tree/image-grid-num-setting)

Ветка не предназначена как готовый PR. Это скорее отправная точка, показывающая предполагаемое направление:

- добавить новый параметр сайта для минимального количества изображений в автоматической сетке
- сделать этот параметр доступным для клиента
- заменить жёстко заданную проверку `MIN_IMAGES_TO_AUTO_GRID = 3` в коде загрузки редактора на настроенное значение
- обновить текст параметра администратора, чтобы существующее описание автоматической сетки больше не подразумевало, что порог всегда равен 3
- добавить/обновить клиентские тесты при необходимости

Примерное изменение на стороне клиента, которое я имел в виду:

```js
const minImagesToAutoGrid = Number(
  this.siteSettings.auto_grid_images_minimum_count ?? 3
);

if (
  this.siteSettings.enable_auto_grid_images &&
  this.#consecutiveImages?.length >= minImagesToAutoGrid &&
  this.textManipulation
) {
  this.textManipulation.autoGridImages([...this.#consecutiveImages]);
  this.#consecutiveImages.length = 0;
}

````

Также есть недавний пример параметра сайта в стиле Discourse (перечисление) в PR `#36014`:

[PR #36014 - FEATURE: добавляет параметр `calendar_upcoming_events_default_view`](https://github.com/discourse/discourse/pull/36014)

Этот PR предназначен для плагина Календарь и события, а не напрямую для сеток изображений, поэтому я не предлагаю, чтобы он влиял на эту функцию. Я упоминаю его, потому что он, кажется, демонстрирует полезный шаблон реализации для такого типа настраиваемых параметров сайта: определить параметр, сделать его доступным для клиента, а затем читать его на стороне клиента через `siteSettings`.

## Связанные ссылки

Оригинальное обсуждение отключения автоматических сеток изображений:

[Отключение автоматических сеток изображений?](https://meta.discourse.org/t/turning-off-auto-grid-images/335450)

Объявление об автоматических сетках изображений:

[Автоматическое применение сеток к загруженным изображениям](https://meta.discourse.org/t/automatically-apply-grids-to-image-uploads/394784)

Пример PR, демонстрирующий архитектуру параметров сайта:

[PR #36014 - FEATURE: добавляет параметр `calendar_upcoming_events_default_view`](https://github.com/discourse/discourse/pull/36014)

Моя экспериментальная ветка:

[ветка image-grid-num-setting](https://github.com/Ethsim12/discourse/tree/image-grid-num-setting)

---

_[View the full topic](https://meta.discourse.org/t/improve-convenience-in-setting-of-auto-grid-less-than-3-images/406731)._
