Шаблон ответа

:discourse2: Краткое описание Шаблон ответа позволит вам легко повторно использовать часть сообщения в ответе или новой теме.
:eyeglasses: Предпросмотр Предпросмотр в конструкторе тем Discourse
:hammer_and_wrench: Ссылка на репозиторий https://github.com/discourse/discourse-reply-template-component
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

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

Возможности

Шаблон ответа позволит вам легко повторно использовать часть сообщения в ответе или новой теме.

Использование

[wrap=template key="template-name"]
Мой повторно используемый контент

- [ ] задача 1
- [ ] задача 2
[/wrap]

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

Ключ обязателен

Другие параметры

  • action="create" — кнопка откроет редактор для создания новой темы
  • action="create_pm" — кнопка откроет редактор для создания нового личного сообщения
  • categoryId="2" — работает только с action="create", устанавливает категорию открываемого редактора
  • title="some title" — работает только с create и create_pm, заголовок темы/личного сообщения
  • recipients="a@example.com" — работает только с create_pm, получатели сообщения
  • usernames=sam — работает только с create_pm
  • label="Текст кнопки" — текст кнопки

Плейсхолдеры

В шаблоне можно использовать специальные ключи, которые будут заменены:

  • $week_start → дата начала текущей недели
  • $week_end → дата конца текущей недели
  • $prev_week_start → дата начала предыдущей недели
  • $prev_week_end → дата конца предыдущей недели
  • $today
  • $tomorrow
  • $username → имя пользователя текущего пользователя
  • $name → имя текущего пользователя

Обратите внимание: даты будут подставлены в локальном формате.

Специальные плейсхолдеры также интерполируются в title.

Список тегов

tagsList=":heart:,foo,#bar" отобразит список чекбоксов в конце шаблона, чтобы пользователи могли легко добавить теги к своему сообщению.

Пример

Мой список дел $week_end

  • задача 1
  • задача 2

Настройки

Перевод Значение по умолчанию
discourse_reply_template_component.use_template_reply Использовать шаблон как ответ
discourse_reply_template_component.use_template_create Использовать шаблон как новую тему
discourse_reply_template_component.use_template_create_pm Использовать шаблон как новое личное сообщение
discourse_reply_template_component.needs_key Каждый шаблон требует атрибут key. Например: [wrap=template key="weekly_status"][/wrap]

:discourse2: Размещены у нас? Компоненты тем доступны для использования в наших тарифах Standard, Business и Enterprise.

44 лайка

Я wondered, можно ли использовать это в конкретной категории/подфоруме?

Например, в форме для сообщения об ошибках?

3 лайка

Да :arrow_down:

Например:
[wrap=template key="bug-report" action="create" categoryId="your-bug-category-id"]

9 лайков

Спасибо, нужно будет изучить это подробнее.

Это просто великолепно. Спасибо!! Я использую это для создания шаблонов чек-листов, которые можно создавать каждый раз при выполнении повторяющихся проектов. Раньше наши инструкции звучали как «скопируйте и вставьте всё ниже», а теперь есть эта очень элегантная кнопка для создания темы для людей.

5 лайков

Планируется ли сделать эту функцию доступной в окне композитора? На мой взгляд, самое логичное место — там, где находятся такие элементы, как «Скрыть детали» и «Создать опрос».

3 лайка

Я только что обновил компонент. См. исходный пост (OP) по использованию, но краткое замечание:

  • даты-заполнители теперь заменяются на локальные даты
  • теперь вы можете определить tagsList

8 лайков

Спасибо за отличный компонент!

Невозможно добавить опрос в обертку. Можете ли вы добавить эту функциональность?

[wrap=template key="template-name"]

[poll type=regular results=on_vote chartType=bar]
# Кто присоединится?
* 1
* 2
* 3
[/poll]

[/wrap]

Я добавил больше локалей в ваш компонент и создал PR. Пожалуйста, проверьте.

1 лайк

Как я могу установить этот компонент?

На мой взгляд, было бы полезнее привести пример для случая ответа (без action=create), поскольку, вероятно, именно это ищет большинство пользователей, так как создание темы уже возможно через URL.

Моя попытка:

  • ок
  • ошибка
2 лайка

Возможно ли использовать шаблон для создания нового личного сообщения?

Также, когда пользователь не авторизован, нажатие на «Использовать шаблон как ответ» не приводит к каким-либо действиям. Не могли бы вы добавить функционал, который при неавторизованном пользователе предлагал бы ему войти в систему или создать новый аккаунт?

4 лайка

Отличное предложение, сделано, я обновил оригинальный пост.

4 лайка

Можно ли автоматически заполнять заголовок новой темы?

Можно ли автоматически добавлять теги, вместо того чтобы просто иметь список тегов?

4 лайка

Нет, но это определённо разумная просьба о новой функции. Сейчас я немного занят, но я запишу это, спасибо.

5 лайков

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

1 лайк

Привет, извините, я не понял ваш запрос. Не могли бы вы уточнить, пожалуйста?

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

Редактирование: Один из частых сценариев использования — тема, где пользователи могут оставлять обратную связь, например, сообщения об ошибках и т. д. Если бы мы могли добавлять шаблоны сообщений для каждой темы, аналогично шаблонам для новых тем по категориям, это привело бы к уменьшению количества неполных отчетов и, следовательно, сэкономило бы много времени нашему персоналу.

5 лайков

Здравствуйте,

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

Я следовал руководству по ссылке Installing a theme or theme component для установки компонента. Я добавил компонент ко всем нашим темам.

Однако при создании новой темы и включении следующего кода:

Мой повторно используемый контент

  • задача 1
  • задача 2

Кнопка «Использовать шаблон как ответ» не отображается. Пример:

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

Кроме того, Discourse сообщает об ошибках в теме: в CSS, HTML или YAML. Не связано ли это с тем, что кнопка не отображается?

Спасибо за любую помощь.

Посмотрю завтра

2 лайка

Спасибо. Мне сообщили, что проблема может быть также связана с версией Discourse, которую мы используем, но я вернусь к этому вопросу позже.