0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 555 Просмотров
*

Lemonez

  • Захожу иногда
  • 216
  • 2 / 2
Стоит шаблон от YooTheme на UiKit3. Системные сообщения выводятся обычным способом.
Исходный код:
Код
<?php

defined('JPATH_BASE') or die;

use Joomla\CMS\Language\Text;
use YOOtheme\Path;

if (Path::get(__FILE__)!== $file = Path::get('~theme/html/layouts/joomla/system/message.php')) {
    return include $file;
}

$alert = [
    'message' => 'uk-alert-success',
    'warning' => 'uk-alert-warning',
    'error' => 'uk-alert-danger',
    'notice' => '',
    'info' => '',
];

$msgList = $displayData['msgList'];
$msgAttr = json_encode($msgList);

?>
<div id="system-message-container" data-messages="<?= htmlspecialchars($msgAttr)?>">
<?php if (is_array($msgList) && !empty($msgList)) : ?>
    <?php foreach ($msgList as $type => $msgs) : ?>
    <div class="uk-alert <?= $alert[$type] ?>" uk-alert>

        <a href="#" class="uk-alert-close uk-close" uk-close></a>

        <?php if (!empty($msgs)) : ?>

            <h3><?= Text::_($type)?></h3>

            <?php foreach ($msgs as $msg) : ?>
            <p><?= $msg ?></p>
            <?php endforeach ?>

        <?php endif ?>

    </div>
    <?php endforeach ?>
<?php endif ?>
</div>
Согласно инструкции модальных окон Uikit3 делаю так:
Код
<?php

defined('JPATH_BASE') or die;

use Joomla\CMS\Language\Text;
use YOOtheme\Path;

if (Path::get(__FILE__)!== $file = Path::get('~theme/html/layouts/joomla/system/message.php')) {
    return include $file;
}

$alert = [
    'message' => 'uk-alert-success',
    'warning' => 'uk-alert-warning',
    'error' => 'uk-alert-danger',
    'notice' => '',
    'info' => '',
];

$msgList = $displayData['msgList'];
$msgAttr = json_encode($msgList);

?>
<div  class="uk-flex-top" data-messages="<?= htmlspecialchars($msgAttr)?>" uk-modal>
<div class="uk-modal-dialog uk-modal-body uk-margin-auto-vertical">
<?php if (is_array($msgList) && !empty($msgList)) : ?>
    <?php foreach ($msgList as $type => $msgs) : ?>
    <div class="uk-alert <?= $alert[$type] ?>" uk-alert>

        <a href="#" class="uk-alert-close uk-close" uk-close></a>

        <?php if (!empty($msgs)) : ?>

            <h3><?= Text::_($type)?></h3>

            <?php foreach ($msgs as $msg) : ?>
            <p><?= $msg ?></p>
            <?php endforeach ?>

        <?php endif ?>

    </div>
    <?php endforeach ?>
<?php endif ?>
</div>
</div>

И ничего не выводится. Что не так делаю? Подскажите, пожалуйста.
*

Lemonez

  • Захожу иногда
  • 216
  • 2 / 2
Теоретически, я понял. Надо перехватить штатный мессидж и переназначить ему классы. Но, теперь проблема в другом: я практически не знаю JS, а решения на форуме и те, которые нарыл в инете, не работают (возможно Joomla свежая, может еще чё).
Помогите, пожалуйста.
*

stepan39

  • Захожу иногда
  • 497
  • 27 / 0
Надо перехватить штатный мессидж и переназначить ему классы
или поставить плагин и не париться https://extensions.joomla.org/extension/minitek-system-messages/
*

Lemonez

  • Захожу иногда
  • 216
  • 2 / 2
или поставить плагин и не париться https://extensions.joomla.org/extension/minitek-system-messages/
Спасибо. У меня есть такой. Дело в том, что стоит задача сделать модалки без использования плагинов.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модальные окна с jQuery

Автор pulka

Ответов: 8
Просмотров: 697
Последний ответ 20.07.2021, 23:05:05
от pulka
Замена шаблона отправки системных Email писем

Автор SuschnosT

Ответов: 4
Просмотров: 580
Последний ответ 22.02.2021, 03:28:06
от SuschnosT
Модуль или компонент Wrapper с авто размером высоты окна вставки

Автор Арчик

Ответов: 11
Просмотров: 1024
Последний ответ 16.09.2020, 19:43:13
от rsn
Всплывающие окна на сайте

Автор Nippy

Ответов: 28
Просмотров: 1303
Последний ответ 02.04.2020, 20:25:11
от voland
Вывод сообщений об ошибках при регистрации

Автор alien

Ответов: 1
Просмотров: 572
Последний ответ 11.10.2019, 21:35:35
от sivers