Функция 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() используется для записи сообщения о результате удаления страницы, чтобы предоставить пользователю обратную связь об успешности операции перед тем, как его перенаправит на другую страницу.
Комментарии (0)
Автор контента
Оффлайн
Administrator
Последняя авторизация: 05.07.2026 18:32
- Страница размещена: 22.01.2025 12:11
- Последнее обновление: 22.01.2025 12:12