我想在自己的 TYPO3 8.7 后端模块中有一个简单的输入字段,在元素浏览器中单击页面后应填充 pageid。
我过去尝试过很多次,但主要问题是单击页面时元素浏览器中会出现错误警报Error - reference to main window is not set properly!
我的 module.js 文件现在看起来像:
var setFormValueOpenBrowser;
define(['jquery', 'TYPO3/CMS/Lux/Vendor/Chart.min'], function($) {
// define(['jquery', 'TYPO3/CMS/Lux/Vendor/Chart.min', 'TYPO3/CMS/Backend/FormEngine'], function($) {
// main options
// var FormEngine = {
// formName: TYPO3.settings.FormEngine.formName
// ,backPath: TYPO3.settings.FormEngine.backPath
// ,openedPopupWindow: null
// ,legacyFieldChangedCb: function() { !$.isFunction(TYPO3.settings.FormEngine.legacyFieldChangedCb) || TYPO3.settings.FormEngine.legacyFieldChangedCb(); }
// };
var url = '/typo3/index.php?route=%2Fwizard%2Frecord%2Fbrowse&token=53b5d23e8e661e465636a96ca618426cb293d0b5&mode=db&bparams=data[pages][2][content_from_pid]|||pages|';
var popup = window.open(url, 'Typo3WinBrowser', 'height=600,width=800,status=0,menubar=0,resizable=1,scrollbars=1');
popup.focus();
});Run Code Online (Sandbox Code Playgroud)
当然,在此示例中令牌是硬编码的 - 但这不是问题。顺便说一句:如果我尝试通过 require.js 加载 FormEngine,控制台会抛出TypeError: TYPO3.settings.FormEngine is undefined …