Виводимо повідомлення у позицію jdoc include type - message

Виводимо повідомлення у позицію jdoc:include type="message"

Виходячи зі свого досвіду можу сказати такі, в інтернеті повно компонентом для joomla, але не так багато з цих компонентів виводять помилки тим шляхом, як це передбачено вбудованими можливостями joomla. Наприклад, багато компонентів виводять повідомлення про помилку за допомогою звичайного php коду як echo 'помилка'. Я нічого не маю проти такого методу, але вважаю чого не коректним у тому випадку якщо ви використовуєте joomla в якій передбачено виведення помилок у спеціальну позицію.

По-перше, використовуючи виведення помилок у позицію не ставить нас перед тим, що помилки різного компонента абсолютно по-різному оформлені. В даному випадку потрібно буде оформити css стилями одну позицію для виведення помилок і всі помилки виглядатимуть аналогічно.

Для тих хто не розуміє про які повідомлення йдеться, дам усім із усього скрин з адмінки в якій використовуються ті ж способи виведення повідомлень.

type

Перейдемо від лірики до коду.

JError::raiseWarning(100, 'При видаленні файлу сталася помилка!');

Цей код призначений для виведення помилок.

Наступний код призначений для перенаправлення на іншу сторінку із виведенням повідомлення.

$alias_component = JRoute::_('/index.php?option=com_cabinet&view=cabinet', false); JController::setRedirect($alias_component, 'Логотип видалено' ); JController::redirect();

Наступний код підходить для виведення інформації про успішне виконання завдання.

JFactory::getApplication()->enqueueMessage( 'Ваша інформація успішно збережена!' );

Думаю вам знадобляться ці методи для виведення інформації. А повідомлення можна оформити на ваш смак, наприклад спливаючою вікном.

Уjoomla 3 для того щобскористатися, наприклад, другим методом виведення повідомлення в позицію jdoc:include type="message" необхідно використовувати сумісність, виглядатиме це так:

JControllerLegacy::setRedirect("/", 'Логотип видалено'); JControllerLegacy::redirect();