我通过修改 lib/web/tiny_mce/tiny_mce_src.js 解决了问题
1-在第 10833 行附近查找代码
tinymce.documentBaseURL = window.location.href.replace(/[\?#].*$/, '').replace(/[\/\\][^\/]+$/, '');
if (!/[\/\\]$/.test(tinymce.documentBaseURL))
tinymce.documentBaseURL += '/';
替换为
tinymce.documentBaseURL = ADMIN_BASE_URL+"/tiny_mce";
tinymce.baseURL = ADMIN_BASE_URL+"/tiny_mce";
if(IS_MINIFY == 1) tinymce.suffix = '.min'; else tinymce.suffix = '';
2- 在第 11391 行附近查找代码
sl.add(tinymce.baseURL + '/langs/' + s.language + '.js');
替换为
sl.add(tinymce.baseURL + '/langs/' + s.language + tinymce.suffix + '.js');
3- 在第 10758 行附近查找代码
tinymce.ScriptLoader.add(this.urls[n] + '/langs/' + s.language + '.js');
替换为
tinymce.ScriptLoader.add(this.urls[n] + '/langs/' + s.language + tinymce.suffix + '.js');
更改以下文件中的代码或覆盖管理主题:
vendor/magento/module-backend/view/adminhtml/templates/page/js/require_js.phtml
4- 查找代码:
<script>
var BASE_URL = '<?php /* @escapeNotVerified */ echo $block->getUrl('*') ?>';
var FORM_KEY = '<?php /* @escapeNotVerified */ echo $block->getFormKey() ?>';
var require = {
"baseUrl": "<?php /* @escapeNotVerified */ echo $block->getViewFileUrl('/') ?>"
};
</script>
`
将代码替换为:
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$scopeConfig = $objectManager->create('Magento\Framework\App\Config\ScopeConfigInterface');
$isMinify = $scopeConfig->getValue('dev/js/minify_files', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
?>
<script>
var BASE_URL = '<?php /* @escapeNotVerified */ echo $block->getUrl('*') ?>';
var FORM_KEY = '<?php /* @escapeNotVerified */ echo $block->getFormKey() ?>';
var ADMIN_BASE_URL = '<?php /* @escapeNotVerified */ echo $block->getViewFileUrl('/') ?>';
var IS_MINIFY = '<?php /* @escapeNotVerified */ echo $isMinify ?>';
var require = {
"baseUrl": "<?php /* @escapeNotVerified */ echo $block->getViewFileUrl('/') ?>"
};
</script>
5- 运行命令
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy