Функция cot_message в Cotonti

используется для записи сообщений в сессию, которые позже могут быть отображены на странице. Это универсальная функция для вывода сообщений различного типа (ошибки, успешные действия, предупреждения),

Функция cot_message() её роль и описание.

Она используется для записи сообщений в сессию, которые позже могут быть отображены на странице. Это универсальная функция для вывода сообщений различного типа (ошибки, успешные действия, предупреждения), которая позволяет централизованно управлять выводом сообщений в интерфейсе.

Такие сообщения часто используются для отображения информации пользователю после выполнения различных операций на сайте (например, после сохранения данных, ошибки валидации и т.д.).

/**
 * Records a generic message to be displayed on results page
 * @param string $text Message lang string code or full text
 * @param string $class Message class: 'error', 'ok', 'warning'
 * @param string $src Message source identifier
 * @see cot_error()
 */
function cot_message($text, $class = 'ok', $src = 'default')
{
    global $cfg, $sys;

    $msgSeparate = isset(Cot::$cfg['msg_separate']) ? Cot::$cfg['msg_separate'] : false;
    if (!$msgSeparate) {
        // Force the src to default if all errors are displayed in the same place
        $src = 'default';
    }
    $_SESSION['cot_messages'][Cot::$sys['site_id']][$src][] = array(
        'text' => $text,
        'class' => $class
    );
}

Давайте разберем функцию cot_message():

/**
 * Записывает универсальное сообщение, которое будет отображено на странице результатов
 * @param string $text Код строки сообщения на языке или полный текст сообщения
 * @param string $class Класс сообщения: 'error', 'ok', 'warning'
 * @param string $src Идентификатор источника сообщения
 * @see cot_error()
 */

 
 
Параметры функции cot_message.

$text (string) — текст сообщения или код строки для локализации.

Это текст, который будет отображаться на странице. Также может быть передан код строки, который будет искать соответствующий перевод в массиве локализаций.

$class (string) — класс сообщения.

Этот параметр определяет тип сообщения:

'error' — для ошибок.
'ok' — для успешных действий.
'warning' — для предупреждений.

Если не указан, по умолчанию используется 'ok'.

$src (string) — источник сообщения.

Это идентификатор, который позволяет группировать сообщения по источнику. Например, это может быть имя модуля или страницы. Если не указано, по умолчанию используется 'default'.

 

Алгоритм работы функции cot_message.

Чтение конфигурации:

Сначала проверяется наличие настройки msg_separate в конфигурации. Эта настройка указывает, нужно ли разделять сообщения по источникам. Если такая настройка не задана, переменная $msgSeparate будет равна false.

Обработка сообщения:

Если $msgSeparate установлено в false, это означает, что все сообщения должны быть сгруппированы в одном месте, и поэтому источник ($src) принудительно устанавливается в 'default'.

Запись сообщения в сессию:

Сообщение добавляется в массив сессии

$_SESSION['cot_messages'][Cot::$sys['site_id']]

где $src — это идентификатор источника.

Каждое сообщение представляет собой массив с ключами:

'text' — текст сообщения.
'class' — класс сообщения (например, ошибка или успех).

Сообщение будет доступно для дальнейшего отображения на странице результатов.

Пример использования:

cot_message('Запись успешно обновлена', 'ok');
cot_message('Ошибка при обновлении записи', 'error');
cot_message('Предупреждение! Вы не заполнили все обязательные поля.', 'warning');

 

Давайте разберем пример использования функции cot_message() в таком контексте:

if ($rpagedelete) {
    $resultOrMessage = cot_page_delete($id, $row_page);
    if ($resultOrMessage !== false) {
        cot_message($resultOrMessage);
        cot_redirect(cot_url('page', ['c' => $row_page['page_cat']], '', true));
    }
}

 

Описание логики:


Проверка условия $rpagedelete:

Эта проверка определяет, нужно ли выполнять удаление страницы. Если переменная $rpagedelete истинна (т.е. страница должна быть удалена), выполняется следующий код.


Удаление страницы:

В переменную $resultOrMessage сохраняется результат работы функции cot_page_delete($id, $row_page). Эта функция, вероятно, выполняет удаление страницы с идентификатором $id и информацией о странице в массиве $row_page. Ожидается, что функция вернет сообщение или ошибку в случае неудачи, либо false, если операция не была успешной.


Проверка на успех удаления:

После выполнения удаления проверяется условие: если результат $resultOrMessage не равен false, это означает, что операция была успешной (либо возвращено сообщение, либо подтверждено успешное выполнение).


Вызов функции cot_message():

Если результат удаления страницы успешен, вызывается функция cot_message($resultOrMessage). Это сообщение, скорее всего, содержит текст с подтверждением успешного выполнения операции (например, "Страница успешно удалена"). Сообщение будет записано в сессию для дальнейшего отображения на странице.

Перенаправление:

После этого происходит редирект с помощью функции cot_redirect(). Перенаправление происходит на страницу, относящуюся к категории страницы, которая была удалена, с использованием параметра c в URL (категория страницы).


Роль и цель применения cot_message() в этом контексте:

Цель: Функция cot_message() используется для уведомления пользователя о результате выполнения операции. В данном случае, если удаление страницы прошло успешно, будет выведено сообщение с результатом (например, сообщение о том, что страница была успешно удалена).

Роль:
Она записывает сообщение в сессию, что позволяет отображать его на странице после перенаправления. Это важно для того, чтобы пользователи получали обратную связь о действиях, таких как успешное удаление, и могли увидеть информацию о результате выполнения операции, прежде чем их перенаправит на другую страницу.

Пример:
В случае успешного удаления страницы:
Сообщение, скорее всего, будет содержать текст вроде "Страница успешно удалена", которое будет показано пользователю, перед тем как его перенаправит на страницу с той же категорией.

Заключение:
В данном случае функция cot_message() используется для записи сообщения о результате удаления страницы, чтобы предоставить пользователю обратную связь об успешности операции перед тем, как его перенаправит на другую страницу.

 

4 минут чтения Administrator

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Автор контента

Administrator

Оффлайн

Administrator

Последняя авторизация: 05.07.2026 18:32

  • Страница размещена: 22.01.2025 12:11
  • Последнее обновление: 22.01.2025 12:12