Il existe une très bonne fonctionnalité dans Joomla 3.3 qui permet d’ajouter des notes pour chaque utilisateur.
Dans une partie de la zone d'administration, nous pouvons sélectionner un utilisateur et lui ajouter une note.
Lorsqu'un utilisateur est connecté au serveur, j'aimerais qu'il puisse voir ce texte. J'ai googlé et je ne trouve rien à ce sujet.
Est-ce qu'il y a un moyen de faire ça?
Essayez ce code -
if ($user->id) {
$db =JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('*')
->from('#__user_notes')
->where('user_id = '. (int)$user->id)
->where('state=1');
$db->setQuery($query);
$rows = $db->loadObjectList();
print_r($rows[0]->body);
}
J'espère que ça vous aidera :)
Je suppose que les deux seules colonnes importantes pour vos utilisateurs seront subject
et body
. Après avoir demandé à vos utilisateurs d'être connectés, vous pouvez créer votre requête pour exclure les notes attribuées à d'autres utilisateurs et les notes non publiées. Je vais vous montrer comment construire votre clause SELECT afin d'afficher une table HTML simple devient un jeu d'enfant avec implode()
.
$user = JFactory::getUser();
if (!$user->guest) {
$db =JFactory::getDBO();
$query = $db->getQuery(true)
->select($db->qn(["subject", "body"], ["Topic", "Note"]))
->from($db->qn("#__user_notes"))
->where([
$db->qn("user_id) . " = " . (int)$user->id, // target the logged in user
$db->qn("state") . " = 1" // ensure that only published notes are shown
]);
$db->setQuery($query);
if ($results = $db->loadAssocList())
{
echo "<table>";
// display Topic and Note as column headings
echo "<tr><th>" , implode("</th><th>", array_keys($results[0])) , "</th></tr>";
// display rows of data
foreach ($results as $row)
{
echo "<tr><td>" , implode("</td><td>", $row) , "</td></tr>";
}
echo "</table>";
}
else
{
echo "No Notes";
}
}
La sortie sera comme:
__________________________________________________________________
| Topic | Note |
|-------------|--------------------------------------------------|
| Feedback1 | I loved the way you did my laundry. |
|-------------|--------------------------------------------------|
| Feedback2 | Perhaps I can interest you in my dry cleaning. |
------------------------------------------------------------------