В Joomla версии >3 разработчикам возможно на уровне шаблона в файле /templates/имя шаблона/html/message.php переопределять вывод системных сообщений. Тогда вывод системных сообщений может занять несколько строк вставлять в шаблон...
Знаю, что тема старая, но, вот оказалась актуальной.
Хотела воспользоваться этим же методом, но, на данный момент для Joomla4 файл message.php изменился.
что делать, если теперь он вот такой:
<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* [member=126442]copyright[/member] (C) 2014 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
/* @var $displayData array */
$msgList = $displayData['msgList'];
$document = Factory::getDocument();
$msgOutput = '';
$alert = [
CMSApplication::MSG_EMERGENCY => 'danger',
CMSApplication::MSG_ALERT => 'danger',
CMSApplication::MSG_CRITICAL => 'danger',
CMSApplication::MSG_ERROR => 'danger',
CMSApplication::MSG_WARNING => 'warning',
CMSApplication::MSG_NOTICE => 'info',
CMSApplication::MSG_INFO => 'info',
CMSApplication::MSG_DEBUG => 'info',
'message' => 'success'
];
// Load JavaScript message titles
Text::script('ERROR');
Text::script('MESSAGE');
Text::script('NOTICE');
Text::script('WARNING');
// Load other Javascript message strings
Text::script('JCLOSE');
Text::script('JOK');
Text::script('JOPEN');
// Alerts progressive enhancement
$document->getWebAssetManager()
->useStyle('webcomponent.joomla-alert')
->useScript('messages');
if (is_array($msgList) && !empty($msgList)) {
$messages = [];
foreach ($msgList as $type => $msgs) {
// JS loaded messages
$messages[] = [$alert[$type] ?? $type => $msgs];
// Noscript fallback
if (!empty($msgs)) {
$msgOutput .= '<div class="alert alert-' . ($alert[$type] ?? $type). '">';
foreach ($msgs as $msg) :
$msgOutput .= $msg;
endforeach;
$msgOutput .= '</div>';
}
}
if ($msgOutput !== '') {
$msgOutput = '<noscript>' . $msgOutput . '</noscript>';
}
$document->addScriptOptions('joomla.messages', $messages);
}
?>
<div id="system-message-container" aria-live="polite"><?php echo $msgOutput; ?></div>
...не хватило знаний, чтоб подправить...
p.s.: извините, пожалуйста, я ошиблась разделом - мой вопрос не касается Joomshopping, а всех уведомлений Joomla...