Modelos de conteúdo
Uma caixa de diálogo que oferece documentos prontos definidos por você, como atas de reunião, um relatório de bug ou uma carta padrão. O autor escolhe um em uma grade de prévias ao vivo, e ele passa a ser o conteúdo do editor.

htmlTemplates. "Bug report" está selecionado; o rodapé diz o que Replace Content vai fazer.Ative o recurso
O recurso é o plugin inserttemplate.js (também incluído em plugins/all_plugins.js). O item da barra de ferramentas é inserttemplate (dica de ferramenta "Insert Template"); ele já está nas barras de ferramentas default e full. A lista de modelos fica vazia até você definir htmlTemplates:
<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css" />
<script src="/richtexteditor/rte.js"></script>
<script src="/richtexteditor/plugins/inserttemplate.js"></script>
<div id="div_editor1"><p>Draft notes go here.</p></div>
<script>
var editor1 = new RichTextEditor("#div_editor1", {
toolbar: "custom",
toolbar_custom: "{bold,italic,underline}|{inserttemplate}|{undo,redo}",
htmlTemplates: [
["Meeting notes", "<h2>Meeting notes</h2><p><strong>Date:</strong> </p><p><strong>Attendees:</strong> </p><h3>Decisions</h3><ul><li></li></ul>", "Date, attendees, decisions"],
{ title: "Bug report", html: "<h2>Bug report</h2><p><strong>Steps to reproduce</strong></p><ol><li></li></ol><p><strong>Expected</strong></p><p><strong>Actual</strong></p>", description: "Steps, expected and actual result" },
{ title: "Thank-you letter", html: "<p>Dear [Name],</p><p>Thank you for your order. We will ship it within two working days.</p><p>Kind regards,<br>The Support Team</p>", description: "Order confirmation reply" }
]
});
</script>
Sem modelos, a caixa de diálogo abre e diz "No templates are available."
Opções
| Opção | Padrão | O que faz |
|---|---|---|
htmlTemplates | [] | Os modelos. Cada item pode ter qualquer uma das formas abaixo; itens sem HTML são ignorados. |
text_inserttemplate | "Insert Template" | Dica de ferramenta do botão da barra de ferramentas. |
Formas que um item pode ter:
["Title", "<p>html</p>", "description"]: um array; a descrição é opcional.{ title, html, description }: um objeto.nameoutexttambém servem para o título,contentpara o HTML,metapara a descrição, eidé mantido se você fornecer um."<p>html</p>": uma string simples, exibida como "Template 1", "Template 2" e assim por diante.
A descrição é a linha cinza abaixo do título do card. Sem ela, o card mostra os primeiros 80 caracteres do texto do modelo, emendados sem espaços entre os parágrafos; por isso, uma descrição curta fica mais legível.
As outras palavras da caixa de diálogo vêm de chaves do pacote de idioma: text_tp_copy, text_tp_search, text_tp_replace, text_tp_select, text_tp_ready, text_tp_nomatch, text_tp_none, text_tp_count1, text_tp_countn.
Como usar
- Clique no botão da barra de ferramentas ou chame
editor1.execCommand("inserttemplate"). O menu de barra o lista como "Template". - A caixa de busca filtra pelo título, pela descrição e pelo texto do modelo. Buscar "expected" deixa apenas "Bug report".
- Clique em um card para selecioná-lo e depois em Replace Content. Um clique duplo aplica o modelo na hora.
- Ctrl+Z depois de aplicar traz de volta o documento como estava antes, incluindo as edições feitas logo antes.
O que você precisa saber
Um modelo substitui o documento inteiro; ele não é inserido na posição do cursor. A caixa de diálogo avisa isso ("replace the current editor content"). Para inserir um trecho na posição do cursor, use editor.insertHTML() a partir do seu próprio botão.
- O HTML do modelo passa pelo editor como qualquer outro conteúdo. No teste acima, o modelo "Bug report" saiu assim:
O editor gravou<h2 id="bug-report">Bug report</h2> <p><b>Steps to reproduce</b></p> <ol><li></li></ol> <p><b>Expected</b></p> <p><b>Actual</b></p><strong>como<b>e deu umidao título. Nada marca o conteúdo como vindo de um modelo. - As prévias são o HTML do modelo desenhado em tamanho reduzido dentro da caixa de diálogo; por isso, usam os estilos da página, e não a folha de estilo de conteúdo do editor.
- Os modelos ficam na configuração da sua página. Para carregá-los de um servidor, busque a lista antes de criar o editor e passe-a como
htmlTemplates.
Relacionados: demonstração de modelos, setHTMLCode, configuração.