---
title: "Совет по Joomla: показ уведомлений Joomla.renderMessages - WebTolk"
description: "Рендер сообщений Joomla во фронтенде с помощью javascript. Метод Joomla.renderMessages: как использовать. Пример кода."
url: "https://web-tolk.ru/blog/sovet-po-joomla-pokaz-uvedomlenij-joomla-rendermessages"
date: "2025-02-12T12:31:38+00:00"
language: "ru-RU"
---

# Совет по Joomla: показ уведомлений Joomla.renderMessages

 Автор: Сергей Толкачев Создано: 12 февраля 2025 Обновлено: 01 сентября 2025 Просмотров: 1059

Пользователь совершает какие-то действия на сайте и получает сообщения об успешном или не успешном их результате, а также просто информационные сообщения. В php коде мы привыкли использовать для этого метод `enqueueMessage()`.

```
<?php
use Joomla\CMS\Factory;

$html = 'Message';
Factory::getApplication()->enqueueMessage($html, 'warning');
```

Чаще всего в качестве сообщения используются языковые константы, чтобы пользователи могли получать сообщения на своём языке:

```
<?php
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;

Factory::getApplication()->enqueueMessage(Text::_('SOME_LANG_CONSTANT'), 'info');
```

## Рендер сообщений Joomla во фронтенде

Здесь нам потребуется файл подключённые файлы ядра **core.js** и **messages.js**. Немного выдержки из кода:

```
/**
 * Рендер сообщений, отправленных через  JSON
 * Используется некоторыми javascript, в частности validate.js
 *
 * @param   {object}  messages JavaScript объект, содержащий сообщения для рендера.
 * Пример:
 *    const messages = {
 *        "message": ["Это будет зелёное сообщение", "И это тоже"],
 *        "error": ["Это будет красное сообщение", "И это тоже"],
 *        "info": ["Это будет синее сообщение", "И это тоже"],
 *        "notice": ["Какое-то информационное сообщение", "И это тоже"],
 *        "warning": ["Оранжевое сообщение", "И это тоже"],
 *        "my_custom_type": ["Такое же как инфо-сообщение", "И это тоже"]
 *    };
 * @param  {string} selector CSS-селектор контейнера для рендера сообщений
 * @param  {bool}   keepOld  Удалить предыдущие сообщения? Да, если true
 * @param  {int}    timeout  Таймаут исчезновения сообщения в миллисекундах
 * @return  void  Метод ничего не возвращает
 */
```

Вот как это выглядит на практике:

```
Joomla.renderMessages({
    message: [Joomla.Text._('COM_SWJPROJECTS_USER_KEYS_KEY_SUCCESSFULLY_COPYED')]
});
```

Теперь мы видим, что в качестве сообщения мы и в Javascript можем использовать языковые константы. И это круто! Для этого мы используем метод `Joomla.Text._()` (по аналогии с `Text::_()` в PHP). Но Javascript откуда-то должен получить значения этих языковых констант. И для этого в php коде нашей страницы мы должны позаботиться о нём и добавить нужные для js языковые константы с помощью метода `Text::script()`.

```
<?php
use Joomla\CMS\Language\Text;

Text::script('SOME_LANG_CONSTANT_SUCCESS');
Text::script('SOME_LANG_CONSTANT_FAIL');
```

Таким образом я смогу получить в js доступ к значениям языковых констант `SOME_LANG_CONSTANT_SUCCESS` и `SOME_LANG_CONSTANT_FAIL`.

- [Пост в Telegram](https://t.me/webtolkru/471)
- [Пост на Хабре](https://habr.com/ru/posts/881826/)
- [Текст на dev.to](https://dev.to/sergeytolkachyov/joomla-tip-show-notifications-by-joomlarendermessages-13lm)

## Об авторе

![Толкачев Сергей Юрьевич](https://web-tolk.ru/images/uslugi/sergey-tolkachyov-apr-2023.webp)

### Толкачев Сергей Юрьевич

Joomla-разработчик. [Контрибьютер ядра Joomla](https://github.com/joomla/joomla-cms/pulls?q=is%3Apr+author%3Asergeytolkachyov+). Один из ведущих Telegram-канала русскоязычного Joomla-сообщества [JoomlaFeed](https://t.me/joomlafeed), один из модераторов [чата русскоязычного Joomla-сообщества](https://t.me/joomlaru). Мои расширения в официальном маркетплейсе расширений Joomla - [Joomla Extensions Directory](https://extensions.joomla.org/profile/profile/details/528051/). Имею публикации в [официальном журнале международного Joomla-сообщества - Joomla Community Magazine](https://magazine.joomla.org/authors/sergeytolkachyov) и на [официальном сайте русскоязычного Joomla-сообщества](https://joomlaportal.ru/users/sergey-tolkachyov).

Муж. Отец 3 детей.

Россия, Саратов.

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/blog",
                "name": "Блог"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "name": "Совет по Joomla: показ уведомлений Joomla.renderMessages"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/blog/sovet-po-joomla-pokaz-uvedomlenij-joomla-rendermessages",
            "name": "Совет по Joomla: показ уведомлений Joomla.renderMessages - WebTolk",
            "description": "Рендер сообщений Joomla во фронтенде с помощью javascript. Метод Joomla.renderMessages: как использовать. Пример кода.",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "Article",
            "@id": "https://web-tolk.ru/#/schema/com_content/article/127",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
