跳至主要内容

5.0 到 5.1

每个 Joomla 版本的代码变更说明。如果您从当前代码的版本一直到您要支持的版本,您应该会遇到需要进行的所有变更。

插件编辑的弹出窗口从 Bootstrap 模态更新为 JoomlaDialog。

PR #42447

旧代码

$link = Route::_('index.php?option=com_plugins&client_id=0&task=plugin.edit&extension_id=' . $pluginId . '&tmpl=component&layout=modal');

echo HTMLHelper::_(
'bootstrap.renderModal',
'plugin' . $pluginId . 'Modal',
[...]
);

echo HTMLHelper::_('link', '#plugin' . $pluginId . 'Modal', 'Edit the plugin', 'data-bs-toggle="modal"');

新代码

$doc->getWebAssetManager()
->useScript('joomla.dialog-autocreate');

$popupOptions = [
'popupType' => 'iframe',
'textHeader' => 'Plugin parameters',
'src' => Route::_('index.php?option=com_plugins&client_id=0&task=plugin.edit&extension_id=' . $pluginId . '&tmpl=component&layout=modal', false),
];

echo HTMLHelper::_('link', '#', 'Edit the plugin', [
'data-joomla-dialog' => htmlspecialchars(json_encode($popupOptions, JSON_UNESCAPED_SLASHES)),
'data-checkin-url' => Route::_('index.php?option=com_plugins&task=plugins.checkin&format=json&cid[]=' . $pluginId),
'data-close-on-message' => '',
'data-reload-on-close' => '',
]);

模块编辑的弹出窗口从 Bootstrap 模态更新为 JoomlaDialog。

PR #42423

旧代码

$link = Route::_('index.php?option=com_modules&task=module.edit&id=' . $moduleId . '&tmpl=component&layout=modal');

echo HTMLHelper::_(
'bootstrap.renderModal',
'moduleEdit' . $moduleId . 'Modal',
[...]
);

echo HTMLHelper::_('link', 'moduleEdit' . $moduleId . 'Modal', 'Edit the module', 'data-bs-toggle="modal"');

新代码

$doc->getWebAssetManager()
->useScript('joomla.dialog-autocreate');

$popupOptions = [
'popupType' => 'iframe',
'textHeader' => 'Module parameters',
'src' => Route::_('index.php?option=com_modules&task=module.edit&id=' . $moduleId . '&tmpl=component&layout=modal', false),
];

echo HTMLHelper::_('link', '#', 'Edit the module', [
'data-joomla-dialog' => htmlspecialchars(json_encode($popupOptions, JSON_UNESCAPED_SLASHES)),
'data-checkin-url' => Route::_('index.php?option=com_modules&task=modules.checkin&format=json&cid[]=' . $moduleId),
'data-close-on-message' => '',
'data-reload-on-close' => '',
]);