如何使用 template_replace_values 替换 tinymce 中的变量?

How to replace variable in tinymce using template_replace_values?

我想在 tinymce 中使用 template_replace_values 替换值。我在 textarea 中添加了 <p>Name: {$username}, StaffID: {$staffid}</p>,在 tinymce.init 中添加了 template_replace_values:{username: "Jack Black",staffid: "991234"}。当我 运行 代码时,变量没有替换为值。它仍然显示变量。

// Initialize TinyMCE
tinymce.init({
  selector: "textarea", // change this value according to your HTML
  plugins: "template",
  template_replace_values: 
  {
    username: "Jack Black",
    staffid: "991234"
  }
});
<!doctype html>
<html class="no-js" lang="">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>Preview TinyMCE variable plugin</title>
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdn.tinymce.com/4/tinymce.js"></script>
</head>
<body>
  <form method="post">
    <textarea rows="18">
   <p>Name: {$username}, StaffID: {$staffid}</p>
 </textarea>
  </form>
</body>
</html>

我按照documentation中的例子。是不是变量声明{$staffid}有大括号和美元符号不正确?

当您通过模板(使用 template 插件)将内容插入编辑器时,会出现 template_replace_values 选项。当编辑器首次初始化时,它不会执行任何类型的全局 find/replace 值。

在上面的示例中,textarea 中有一些 "default" 内容,这些内容将在初始化时加载到编辑器中。由于该内容不是通过模板插入的,因此您引用的设置不会影响内容。

我创建了一个 fiddle 来展示 template 插件的工作原理:

http://fiddle.tinymce.com/1khaab

如果您使用 Insert 菜单和 select Insert template... 您将看到模板的 HTML 被插入并发生替换。