Salut à tous ! Je viens vers vous pour avoir des chtis conseil. Je souhaiterait mettre en place un système de notification pour le panel admin qui parlerai de tout et de rien comme par exemple : XXX c'est connecté à l'adminsitration XXX a créé un article/forum/etc Une mise à jour du système est déployée ... ** Enfin bref avec plusieurs type de notification. Pour le moment j'ai créé une table SQL de ce genre la : [img]http://dev.shinix.me/uploads/sql.png[/img] Pour info j'utilise les base du MVC de Grafikart que j'ai allègrement modifié. Je pensais utiliser une class PHP dédié aux notification (peut-être plus simple pour les traiter ?! je sais pas trop). Avez-vous des conseils ou connaissez vous des class PHP déjà toute faite (si ça peu m'avancer^^). merci à vous !

7 réponses


La class que tu veux utiliser va surtout être un model je pense ... il va gérer les insert, les update etc.
Après, t'as juste à passer tes notif dans le controller et dans ta vue, je ne pense pas que créer une librairie exprès pour ça soit très utile .
A voir

shinix
Auteur

Mouai, c'est ce que je me demande. D'un coté ça faciliterai les choses de faire une class. Pour ajouter une notif depuis un modules suffirait de faire un $this->Notifications->save(array('title'=>'Titre','content'=>'test notif'));

Ce qui serait bien moins plus cours que de créer un module complet.

class Notification extends ...{
    public function __construct(){
    session_start();
    }
    public function save($title,$content)
    {
        // function permettant de remplir la session'notification']
        $this->notif_model->insert($title,$content);
    }
}

Par sur quelque chose comme ça

shinix
Auteur

Hello,

Ouai c'est exactement ce que j'ai fait mais pas en session'notification'] c'est peut-être pas con de stocker en session.

Tout dépend si ton MVC natif utilisation les sessions ou non !
Mais comme il s'agit de notification, c'est un peu le même principe des messages "flash", du coup je viens d'y pensé, pourquoi ne pas faire une classe qui hérite de cette dernière classe ? (la classe session, flash etc, si tu m'a compris )

shinix
Auteur

Tout à fait, malheureusement j'ai déjà créé la class sans session mais je vais l'adapter ! Pour le moment ça fonctionne bien me reste à trouver comment faire en JS pour passer en "vu" si on clique sur le bouton "notifications".

Tu détecte l'élément que tu survol, tu récupère l'id de la notification, tu lance une requête ajax en $.post, qui pointe vers ton controller qui update la notification

<li class="notif" data-id="5"> ma notif non vue </li>
<!-- script -->
$("document").ready(function({
    $("notif").mouseover(function(e)
{
    var id = $(this).data("id");
    $.ajax{(
        "method":post,
        "data":id = id,
        success:function()
{
alert("La notification "+id+" à été vue ! ");
}
})
});

En gros hein, avec les erreurs qui vont avec =D