我想在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_replace_values
选项会在您通过模板(使用template
插件)将内容插入编辑器时发生。首次初始化编辑器时,它不执行任何类型的全局值查找/替换。
在上面的示例中,textarea
中有一些“默认”内容,将在初始化时将其加载到编辑器中。由于该内容不是通过模板插入的,因此您引用的设置不会影响该内容。
我创建了一个小提琴,用来显示template
插件的工作方式:
http://fiddle.tinymce.com/1khaab
如果您使用Insert
菜单并选择Insert template...
,您将看到已插入模板的HTML并进行了替换。