通过 JavaScript 跳转到 TYPO3 后端的记录编辑
Jump to record editing in TYPO3 backend via JavaScript
我想通过JavaScript跳转到TYPO3后端的特定记录。
我有一个模式和一个 "jump" 按钮,它们应该带有一个 PID 和一个记录 UID 并跳转到记录编辑视图。我知道这适用于 PHP,但是在 FormEngine 中或 TYPO3 后端 JS 框架中的其他地方是否有一个 API 可以做到这一点?
我发现了 top.getModuleUrl
和 top.loadEditId
但是第一个会跳转到一个模块——我不知道编辑视图是不是——或者跳转到页面的编辑视图,而不是记录。
所以我想在代码中做的是:
var $modal = Modal.confirm( noteRecord.subject , noteRecord.message, Severity.info, [
{
text: TYPO3.lang['sys_note.dismiss'] || 'Dismiss',
active: true,
btnClass: 'btn-error',
name: 'dismiss'
},
{
text: TYPO3.lang['sys_note.showRecord'] || 'Go to record',
btnClass: 'btn-warning',
name: 'goto'
}
]);
$modal.on('button.clicked', function(e) {
if ( e.target.name === 'dismiss' ) {
Modal.dismiss();
} else if ( e.target.name === 'goto' ) {
Modal.dismiss();
/*
* At this point, the noteRecord contains a pid and a uid we want to
* call somehow
*/
// something like: TYPO3.callRecordEditModule(noteRecord.pid, noteRecord.uid);
}
});
在 PHP 中,我按以下方式创建编辑 URL:
<?php
$url = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl(
'record_edit',
array(
'edit[' . $table . '][' . $uid . ']' => 'edit',
'returnUrl' => \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('REQUEST_URI')
)
);
我想通过JavaScript跳转到TYPO3后端的特定记录。
我有一个模式和一个 "jump" 按钮,它们应该带有一个 PID 和一个记录 UID 并跳转到记录编辑视图。我知道这适用于 PHP,但是在 FormEngine 中或 TYPO3 后端 JS 框架中的其他地方是否有一个 API 可以做到这一点?
我发现了 top.getModuleUrl
和 top.loadEditId
但是第一个会跳转到一个模块——我不知道编辑视图是不是——或者跳转到页面的编辑视图,而不是记录。
所以我想在代码中做的是:
var $modal = Modal.confirm( noteRecord.subject , noteRecord.message, Severity.info, [
{
text: TYPO3.lang['sys_note.dismiss'] || 'Dismiss',
active: true,
btnClass: 'btn-error',
name: 'dismiss'
},
{
text: TYPO3.lang['sys_note.showRecord'] || 'Go to record',
btnClass: 'btn-warning',
name: 'goto'
}
]);
$modal.on('button.clicked', function(e) {
if ( e.target.name === 'dismiss' ) {
Modal.dismiss();
} else if ( e.target.name === 'goto' ) {
Modal.dismiss();
/*
* At this point, the noteRecord contains a pid and a uid we want to
* call somehow
*/
// something like: TYPO3.callRecordEditModule(noteRecord.pid, noteRecord.uid);
}
});
在 PHP 中,我按以下方式创建编辑 URL:
<?php
$url = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl(
'record_edit',
array(
'edit[' . $table . '][' . $uid . ']' => 'edit',
'returnUrl' => \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('REQUEST_URI')
)
);