add.html
<div class="form-group">
<label class="col-sm-2 control-label is-required">新闻详细信息:</label>
<div class="col-sm-10">
<textarea id="details" name="details" rows="11" cols="100"></textarea>
</div>
</div>
#@tinymce_js()
tinymce.init({
selector: '#details',
language:'zh_CN',
plugins: 'print preview searchreplace autolink directionality visualblocks visualchars fullscreen image link media codesample table charmap hr pagebreak nonbreaking anchor insertdatetime advlist lists wordcount imagetools textpattern help emoticons autosave ai',
toolbar: 'code undo redo restoredraft | cut copy pastetext | forecolor backcolor bold italic underline strikethrough link anchor | alignleft aligncenter alignright alignjustify outdent indent | \
styleselect formatselect fontselect fontsizeselect | bullist numlist | blockquote subscript superscript removeformat | \
table image media charmap emoticons hr pagebreak insertdatetime print preview | fullscreen ',
height: 650, //编辑器高度
min_height: 400,
fontsize_formats: '12px 14px 16px 18px 24px 36px 48px 56px 72px',
extended_valid_elements:'script[src]',
template_cdate_format: '[CDATE: %m/%d/%Y : %H:%M:%S]',
template_mdate_format: '[MDATE: %m/%d/%Y : %H:%M:%S]',
autosave_ask_before_unload: false,
toolbar_mode : 'wrap',
relative_urls: false,
remove_script_host: false,
automatic_uploads : true,
images_upload_handler: function (blobInfo, succFun, failFun) {
var xhr, formData;
var file = blobInfo.blob();
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open('POST', '/common/upload');
xhr.onload = function() {
var json;
if (xhr.status != 200) {
failFun('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.url != 'string') {
failFun('Invalid JSON: ' + xhr.responseText);
return;
}
succFun(json.url);
};
formData = new FormData();
formData.append('file', file, file.name );
xhr.send(formData);
},setup: function (editor) {
editor.on('change', function () {
$("#details").val(editor.getContent());
});
}
});
edit.html
<div class="form-group">
<label class="col-sm-2 control-label is-required">新闻详细信息:</label>
<div class="col-sm-10">
<textarea id="details" name="details" rows="11" cols="100">#(obj.details)</textarea>
</div>
</div>
#@tinymce_js()
tinymce.init({
selector: '#details',
language:'zh_CN',
plugins: 'print preview searchreplace autolink directionality visualblocks visualchars fullscreen image link media codesample table charmap hr pagebreak nonbreaking anchor insertdatetime advlist lists wordcount imagetools textpattern help emoticons autosave ai',
toolbar: 'code undo redo restoredraft | cut copy pastetext | forecolor backcolor bold italic underline strikethrough link anchor | alignleft aligncenter alignright alignjustify outdent indent | \
styleselect formatselect fontselect fontsizeselect | bullist numlist | blockquote subscript superscript removeformat | \
table image media charmap emoticons hr pagebreak insertdatetime print preview | fullscreen ',
height: 650, //编辑器高度
min_height: 400,
fontsize_formats: '12px 14px 16px 18px 24px 36px 48px 56px 72px',
extended_valid_elements:'script[src]',
template_cdate_format: '[CDATE: %m/%d/%Y : %H:%M:%S]',
template_mdate_format: '[MDATE: %m/%d/%Y : %H:%M:%S]',
autosave_ask_before_unload: false,
toolbar_mode : 'wrap',
relative_urls: false,
remove_script_host: false,
automatic_uploads : true,
init_instance_callback:"initContent",
images_upload_handler: function (blobInfo, succFun, failFun) {
var xhr, formData;
var file = blobInfo.blob();
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open('POST', '/common/upload');
xhr.onload = function() {
var json;
if (xhr.status != 200) {
failFun('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.url != 'string') {
failFun('Invalid JSON: ' + xhr.responseText);
return;
}
succFun(json.url);
};
formData = new FormData();
formData.append('file', file, file.name );
xhr.send(formData);
},setup: function (editor) {
editor.on('change', function () {
$("#details").val(editor.getContent());
});
}
});
function initContent(){
tinymce.activeEditor.setContent(`<pre>#(obj.details)</pre>`);
}