Difference between revisions of "Display error messages and notices"

From Joomla! Documentation

(Add "Success")
(Several markup changes. URL corrections.)
 
(15 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{RightTOC}}
+
<noinclude><languages /></noinclude>
Errors, warnings and notices can be displayed from any component, module, plugin or template using the methods outlined below.
+
<translate><!--T:1-->
<source lang="php">
+
Errors, warnings, alerts and notices can be displayed from any component, module, plugin or template using the methods outlined below.</translate>
 +
 
 +
<syntaxhighlight lang="php">
 
// Get a handle to the Joomla! application object
 
// Get a handle to the Joomla! application object
 
$application = JFactory::getApplication();
 
$application = JFactory::getApplication();
  
 
// Add a message to the message queue
 
// Add a message to the message queue
$application->enqueueMessage(JText::_('SOME_ERROR_OCCURED'), 'error');
+
$application->enqueueMessage(JText::_('SOME_ERROR_OCCURRED'), 'error');
  
 
/** Alternatively you may use chaining */
 
/** Alternatively you may use chaining */
JFactory::getApplication()->enqueueMessage(JText::_('SOME_ERROR_OCCURED'), 'error');
+
JFactory::getApplication()->enqueueMessage(JText::_('SOME_ERROR_OCCURRED'), 'error');
</source>
+
</syntaxhighlight>
 +
 
 +
<translate><!--T:2-->
 +
The second argument to the [https://api.joomla.org/cms-4/classes/Joomla-CMS-Application-CMSWebApplicationInterface.html#method_enqueueMessage enqueueMessage] function is the type of the message. The default is ''message'', but ''error'' results in a different style for the message. The message will be displayed in place of a special ''jdoc:include'' statement in your template. Place the following in your template at the location where you want messages to appear.</translate>
  
The second argument to the [[JApplication/enqueueMessage|enqueueMessage]] function is the type of the message. The default is 'message', but 'error' results in a different style for the message.  The message will be displayed in place of a special <tt>jdoc:include</tt> statement in your template.  Place the following in your template at the location where you want messages to appear.
+
<syntaxhighlight lang="php">
<source lang="php">
 
 
<jdoc:include type="message" />
 
<jdoc:include type="message" />
</source>
+
</syntaxhighlight>
 +
 
 +
<translate>
 +
== Message == <!--T:3-->
 +
</translate>
  
== Message ==
+
<div style="background-color: #dff0d8; color: #3c763d; border-top: 3px solid #d6e9c6; border-bottom: 3px solid #d6e9c6; padding-left: 1em; font-weight: bold;">
<div style="background-color: #c3d2e5; color: #0055bb; border-top: 3px solid #84a7db; border-bottom: 3px solid #84a7db; padding-left: 1em; font-weight: bold;">
 
 
Message
 
Message
 
</div>
 
</div>
<source lang="php">
+
<syntaxhighlight lang="php">
 
JFactory::getApplication()->enqueueMessage('Message');
 
JFactory::getApplication()->enqueueMessage('Message');
</source>
+
</syntaxhighlight>
  
== Notice ==
+
<translate>
 +
== Notice == <!--T:4-->
 +
</translate>
  
<div style="background-color: #efe7b8; color: #c00; border-top: 3px solid #f0dc7e; border-bottom: 3px solid #f0dc7e; padding-left: 1em; font-weight: bold;">
+
<div style="background-color: #c3d2e5; color: #0055bb; border-top: 3px solid #84a7db; border-bottom: 3px solid #84a7db; padding-left: 1em; font-weight: bold;">
 
Notice
 
Notice
 
</div>
 
</div>
<source lang="php">
+
<syntaxhighlight lang="php">
 
JError::raiseNotice( 100, 'Notice' );
 
JError::raiseNotice( 100, 'Notice' );
</source>
+
</syntaxhighlight>
  
== Warning ==
+
<translate>
 +
== Warning == <!--T:5-->
 +
</translate>
  
<div style="background-color: #e6c0c0; color: #c00; border-top: 3px solid #DE7A7B; border-bottom: 3px solid #DE7A7B; padding-left: 1em; font-weight: bold;">
+
<div style="background-color: #efe7b8; color: #c00; border-top: 3px solid #f0dc7e; border-bottom: 3px solid #f0dc7e; padding-left: 1em; font-weight: bold;">
 
Warning
 
Warning
 
</div>
 
</div>
<source lang="php">
+
<syntaxhighlight lang="php">
 
JError::raiseWarning( 100, 'Warning' );
 
JError::raiseWarning( 100, 'Warning' );
</source>
+
</syntaxhighlight>
 +
 
 +
<translate>
 +
== Error == <!--T:6-->
 +
</translate>
  
== Error ==
+
<div style="background-color: #e6c0c0; color: #c00; border-top: 3px solid #DE7A7B; border-bottom: 3px solid #DE7A7B; padding-left: 1em; font-weight: bold;">
<source lang="php">
+
Error
 +
</div>
 +
<syntaxhighlight lang="php">
 
JError::raiseError( 4711, 'A severe error occurred' );
 
JError::raiseError( 4711, 'A severe error occurred' );
</source>
+
</syntaxhighlight>
  
== Joomla! 3.x is bootstraped ==
+
<translate>
Since Joomla! {{JVer|3.0}} will use bootstraped templates, the messages will use the standard boostrap CSS styles for Alerts.
+
== Joomla! 3.x is Bootstrapped == <!--T:7-->
 +
</translate>
 +
<translate><!--T:8-->
 +
Since Joomla! {{JVer|3.x}} uses Bootstrapped templates, the messages will use the standard Bootstrap CSS styles for Alerts.</translate>
  
See: http://twitter.github.com/bootstrap/components.html#alerts
+
<translate><!--T:9-->
 +
See: https://getbootstrap.com/2.3.2/components.html#alerts</translate>
  
The general syntax remains:
+
<translate><!--T:10-->
 +
The general syntax remains:</translate>
  
<source lang="php">
+
<syntaxhighlight lang="php">
JFactory::getApplication()->enqueueMessage('Your Message', 'type);
+
JFactory::getApplication()->enqueueMessage('Your Message', 'type');
</source>
+
</syntaxhighlight>
  
Where '''type''' can be one of
+
<translate><!--T:11-->
 +
Where ''type'' can be one of</translate>
  
* EMPTY - yellow
+
<translate><!--T:12-->
* 'info' - blue
+
* 'message' (or empty) - green
 +
* 'notice' - blue
 +
* 'warning' - yellow
 
* 'error' - red
 
* 'error' - red
* 'success' - green
+
</translate>
 
 
== Success ==
 
Note the new style in Joomla! 3 using the type '''success'''
 
 
 
<div style="background-color: #dff0d8; color: #468847; border-top: 3px solid #468847; border-bottom: 3px solid #468847; padding-left: 1em; font-weight: bold;">
 
Success
 
</div>
 
 
 
<source lang="php">
 
JFactory::getApplication()->enqueueMessage('Success', 'success');
 
</source>
 
 
 
== See also ==
 
* [[JError]]
 
* [[JApplication]]
 
*  [http://api.joomla.org/1.5/Joomla-Framework/Application/JApplication.html JApplication on api.joomla.org]
 
  
<noinclude>[[Category:Development]]</noinclude>
+
<translate>
[[Category:Tutorials]][[Category:Component Development]]
+
== See Also == <!--T:13-->
 +
</translate>
 +
<translate><!--T:14-->
 +
* [https://api.joomla.org/cms-3/classes/JError.html JError on api.joomla.org]
 +
* [https://api.joomla.org/cms-3/classes/JApplication.html JApplication on api.joomla.org]
 +
</translate>
 +
__NOTOC__
 +
<noinclude>
 +
<translate>
 +
<!--T:15-->
 +
[[Category:Development]]
 +
[[Category:Tutorials]]
 +
[[Category:Component Development]]
 +
</translate>
 +
</noinclude>

Latest revision as of 18:00, 29 November 2022

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français

Errors, warnings, alerts and notices can be displayed from any component, module, plugin or template using the methods outlined below.

// Get a handle to the Joomla! application object
$application = JFactory::getApplication();

// Add a message to the message queue
$application->enqueueMessage(JText::_('SOME_ERROR_OCCURRED'), 'error');

/** Alternatively you may use chaining */
JFactory::getApplication()->enqueueMessage(JText::_('SOME_ERROR_OCCURRED'), 'error');

The second argument to the enqueueMessage function is the type of the message. The default is message, but error results in a different style for the message. The message will be displayed in place of a special jdoc:include statement in your template. Place the following in your template at the location where you want messages to appear.

<jdoc:include type="message" />

Message[edit]

Message

JFactory::getApplication()->enqueueMessage('Message');

Notice[edit]

Notice

JError::raiseNotice( 100, 'Notice' );

Warning[edit]

Warning

JError::raiseWarning( 100, 'Warning' );

Error[edit]

Error

JError::raiseError( 4711, 'A severe error occurred' );

Joomla! 3.x is Bootstrapped[edit]

Since Joomla! Joomla 3.x uses Bootstrapped templates, the messages will use the standard Bootstrap CSS styles for Alerts.

See: https://getbootstrap.com/2.3.2/components.html#alerts

The general syntax remains:

JFactory::getApplication()->enqueueMessage('Your Message', 'type');

Where type can be one of

  • 'message' (or empty) - green
  • 'notice' - blue
  • 'warning' - yellow
  • 'error' - red

See Also[edit]