Placeholder Forms

Привет :wave:

Спасибо за этот компонент :heart: Он идеально подходит для того, что я сейчас пытаюсь реализовать. Изначально я думал, что было бы здорово, если бы его можно было объединить с компонентом Reply Template. Но, к сожалению, это невозможно, как объяснялось в предыдущих сообщениях. :confused:


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

Вот как я это сделал:

1. Создайте форму-заполнитель (для простоты я использую пример из исходного сообщения):

Ваш email: =NAME=-=COUNTRY=@example.com


2. Создайте ссылку на новую тему:
В ссылке я указал:

  1. категорию
  2. заголовок
  3. тело сообщения

Если нужно добавить пустые строки, используйте \, чтобы ссылка не разорвалась, или используйте  , чтобы добавить пробел на новой строке. Это станет частью шаблона и создаст пустую строку.

<a href="https://meta.discourse.org/new-topic?category==CATEGORY=&title=Это тема, созданная =NAME=&body=Привет :wave:
&nbsp;
Это тестовая тема... Давайте посмотрим на форму-заполнитель.
\
Ваш email: =NAME=-=COUNTRY=@example.com
">Использовать шаблон как новую тему</a>

3. Создайте предварительный просмотр темы

Выбранная категория

=CATEGORY=

Заголовок темы

Это тема, созданная =NAME=

Тело темы

Привет :wave:

Это тестовая тема… Давайте посмотрим на форму-заполнитель.

Ваш email: =NAME=-=COUNTRY=@example.com


4. Создайте кнопку «Использовать шаблон как новую тему» (в примере выше это ссылка, из которой можно сделать кнопку)

Создайте элемент [wrap] из этого текста. Это позволит нацеливать его с помощью CSS и стилизовать. Я добавил это ниже.

<a href="https://meta.discourse.org/new-topic?category==CATEGORY=&title=Это тема, созданная =NAME=&body=Привет :wave:
&nbsp;
Это тестовая тема... Давайте посмотрим на форму-заполнитель.
\
Ваш email: =NAME=-=COUNTRY=@example.com
">[wrap=template-button]Использовать шаблон как новую тему[/wrap]</a>

Стилизация [wrap=template-button]
что-то вроде :arrow_down_small:

Common / CSS

[data-wrap="template-button"] {
  background: var(--tertiary);
  color: var(--secondary);
  border-radius: var(--d-button-border-radius);
  padding: 0.5em 0.65em;
  transition: background 0.25s;
  &:focus,
  &:hover {
    background: var(--tertiary-hover);
    color: var(--secondary); 
  }
}

Кнопка шаблона будет выглядеть так :arrow_down_small:

template-button


Демо

Использовать шаблон как новую тему


Надеюсь, этот небольшой урок поможет тем, кому нужно что-то подобное :slightly_smiling_face:

Редактирование: Я настроил выбор категории, который добавляет возможность создания тем в разных категориях.


Посмотреть исходный код этого сообщения…

9 лайков