web-dev-qa-db-fra.com

Rendre les messages Joomla dans un modèle

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.

3
Harald Leithner

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

Mise à jour:

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');
5
Lodder

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.

4
Harald Leithner

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

0
PCMShaper