Предварительно заполненная тема

nictic123

Проверенные
Сообщения
910
Реакции
928
Баллы
855
У меня в определенном разделе на форуме темы должны быть заполнены четко по шаблону. Можно ли как-то сделать, чтобы когда пользователь создавал в этом разделе тему, у него она уже была заполнена определенным образом?
 
Конечно можно.

Шаблон: forum_post_thread.

Если нужно добавить что-то в содержимое темы, то ищите блок:
HTML:
<xf:editorrow name="message"
              value="{{ $post.message ?: $forum.draft_thread.message }}"
              attachments="{{ $attachmentData ? $attachmentData.attachments : [] }}"
              rowtype="fullWidth noLabel mergePrev"
              label="{{ phrase('message') }}" />

И замените его на:
HTML:
<xf:set var="$message_template" value="[b]Заголовок шаблона![/b]
Гарждане! Пора объединяться!" />
               
<xf:editorrow name="message"
              value="{{ ($thread.Forum.node_id == 2) ? $message_template : ($post.message ?: $forum.draft_thread.message) }}"
              attachments="{{ $attachmentData ? $attachmentData.attachments : [] }}"
              rowtype="fullWidth noLabel mergePrev"
              label="{{ phrase('message') }}" />

Вот тут ($thread.Forum.node_id == 2) двойку замените на ID категории (он отображается в адресной строке браузера сразу после названия категории через точку:
node_id.png

С остальными полями по такой же схеме)

Результат:
result.png
 
Ищем следующий код:
HTML:
<xf:prefixinputrow
                label="{{ phrase('title') }}"
                prefixes="{$prefixes}"
                type="thread"
                prefix-value="{{ $forum.draft_thread.prefix_id ?: ($thread.prefix_id ?: $forum.default_prefix_id) }}"
                textbox-value="{{ $thread.title ?: $forum.draft_thread.title }}"
                textbox-class="input--title"
                placeholder="{$forum.thread_prompt}"
                rowtype="fullWidth noLabel"
                autofocus="autofocus"
                maxlength="{{ max_length('XF:Thread', 'title') }}" />

И меняем его на:
HTML:
<xf:set var="$title_template" value="Секретный документ №" />
            
            <xf:prefixinputrow
                label="{{ phrase('title') }}"
                prefixes="{$prefixes}"
                type="thread"
                prefix-value="{{ $forum.draft_thread.prefix_id ?: ($thread.prefix_id ?: $forum.default_prefix_id) }}"
                textbox-value="{{ ($thread.Forum.node_id == 2) ? $title_template : ($thread.title ?: $forum.draft_thread.title) }}"
                textbox-class="input--title"
                placeholder="{$forum.thread_prompt}"
                rowtype="fullWidth noLabel"
                autofocus="autofocus"
                maxlength="{{ max_length('XF:Thread', 'title') }}" />

Не забудьте изменить двойку на свой ID категории.

result_title.png
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу