2017-03-23 4 views
0

Gibt es ein Plugin für Oktober CMS, mit dem Daten in verschiedenen Bereichen vor Ort in Echtzeit aktualisiert werden können? Kann es sein, dass es im Oktober eine Ajax API oder Klasse gibt, in der es je nach DB-Änderungsereignis implementiert wird? Zum Beispiel muss ich Felder in meinem Plugin Management Panel aktualisieren, wenn jemand anders zu diesem Zeitpunkt eine Änderung vorgenommen hat. Leider funktioniert der Link zu Real time chat plugin nicht. Aber ich brauche keine Chat-Lösung in meinem Fall. Ich würde es nicht umbauen wollen. Sie müssen nur die Dateien markieren, die aktualisiert werden sollen, wenn es in der Datenbank einige Änderungen in Bezug auf sie gibt. Es wäre großartig, wenn es auf einfache Weise umgesetzt würde. Ansonsten muss ich einige Long Polling/WebSocket API/Klasse implementieren.Oktober CMS Update-Daten in Echtzeit

Antwort

1

Um das zu lösen, würde ich empfehlen zu verwenden Pusher Sie haben gute freie Plan. Die Schritte würden zu implementieren:

  1. Erstellen Schub Instanz

    window.pusher = new Pusher('APIKEY', { 
        cluster: 'eu',//some problems reported about eu cluster sometimes 
        authEndpoint: '/pusher/auth' 
    }); 
    
  2. privaten Kanal Wich Erstellen Sie über Änderungen informieren.

    var channel = window.pusher.subscribe('private-notify'); 
    
  3. auf diesen Kanal abonnieren möchte. Hier wird Update-Funktion gehen, um Ihre Schnittstelle zu ändern.

    channel.bind('client-messagesent', function(data) { 
        //change your interface 
    }); 
    
  4. Pushing Infos von backend über Änderungen von anderen Benutzern auf dem gleichen Kanal die Ereignistriggerfunktion Anruf von (3).

    $pusher->trigger('private-notify', 'client-messagesent', $data); 
    

So starten Sie ein CDN Pusher Skript enthalten müssen. Viele Tutorials hier https://pusher.com/tutorials

Es gibt auch Pusher-Plugin für OctoberCMS, aber ich beendete die Einstellung von Pusher von Grund auf, weil das Plusign fügt eine Menge überflüssiger Dinge hinzu.

+0

Vielen Dank für Ihre Antwort. Ja, das ist eine ziemlich einfache Lösung sowie Firebase oder ein anderer Echtzeitdatenservice von Drittanbietern. Aber ich würde gerne integrierte Tools und eine eigene Datenbank verwenden und ich denke, dass dies der richtige Ansatz ist. Meiner Meinung nach ist der einfachste Weg, die ajax api von Oktober zu verlängern und eine langwierige Methode zu implementieren (meine Wahl). Komplexere Option - ist es, Oktober und einige Websocket Framework wie Ratsche zusammenzubringen. Es wäre toll, wenn Entwickler sich vorher darum kümmern würden. –

+0

Ich würde mich freuen, weitere Ansätze für dieses Problem zu finden. Wenn Sie einen besseren Methoden-Post implementieren möchten, bitte hier einige Hinweise. Danke im Voraus) – Vdomah

Verwandte Themen