Спасибо за ответ.
В представлении:
$arr = JRequest::get( 'post' );
if(!empty($arr['message'])) echo '<h3 style="color:#FF0000">'.$arr['message'].'</h3>'; // Если переменная не пустая вывести сообщение
Мне кажется более красивое решение:
JError::raiseNotice($code, 'message'); // выводит предупреждение
или
JError::raiseWarning($code,'message'); // выводит сообщение об ошибке
Как раз выводят стандартное Jooml`овское сообщение (предупрежедение или ошибку), такой подход должен лучше вписываться в произвольный шаблон. Честно говоря зачем нужна переменная $code я не понял, а "message" - это то самое сообщение.
Ну а соответственно если надо сделать редирект, то из контролера
$this->setRedirect('index.php?...', 'сообщение об ошибке');
$this->redirect;
но иногда хочется сделать редирект из Модели или из Вида (представления)
(может, конечно, все проверки надо делать в контроллере, но:
если Вид (с помощью Модели) делается к.л. сложный и долгий запрос к БД, а запрос возвращает к.н. нехороший результат, например нулевой (не ошибку, а именно результат, который не вписывается в логику текущего Вида), то можно сделать редирект прямо из Вида, с объявнением причины, почему пользователя туда послали
JController::setRedirect('/index.php?option=com_component&view=correctView', 'Вы сделали что-то не то или хотите туда куда Вам нельзя, начните с другой стороны' );
JController::redirect();
к сожалению не могу вспомнить какие значения, кроме "message" может принимать третий параметр setRedirect( $url, $msg = null, $type = 'message' )