Je souhaite rendre les messages Joomla dans un composant Template car le fichier index.php ne répond pas à mes besoins.
Alors, comment puis-je simuler <jdoc:include type="message" />
à l'intérieur /templates/<tmpl>/html/com_content/article/default.php
par exemple.
Vous pouvez également remplacer la disposition par défaut pour les messages système.
Pour ce faire, copiez le fichier suivant:
ROOT/layouts/joomla/system/message.php
à:
ROOT/templates/TEMPLATE_NAME/html/layouts/joomla/system/message.php
Vous pouvez également utiliser la fonction loadRenderer
de Joomla dans la vue des composants.
Dans le fichier de vue, ajoutez ce qui suit:
$document = JFactory::getDocument();
$renderer = $document->loadRenderer('message');
Ensuite, pour un test, ajoutez ce qui suit pour mettre en file d'attente un message dans la session:
$app = JFactory::getApplication();
$app->enqueueMessage('test message');
Ensuite, n'importe où dans votre vue, ajoutez ce qui suit pour générer le message:
$renderer->render('message');
Une façon de faire est d'utiliser JDocument :: getBuffer ('message');
dans html/com_content/article/default.php
<?php
echo $this->document->getBuffer('message')
?>
Cela effacera également le tampon de messages.
Les erreurs, les avertissements et les avis peuvent être affichés à partir de tout composant, module, plug-in ou modèle en utilisant les méthodes décrites ci-dessous.
// 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');
En savoir plus sur https://docs.joomla.org/Display_error_messages_and_notices