2017-03-23 13 views
0

10月のCMS用のプラグインがあり、サイトのさまざまなフィールドのデータをリアルタイムで更新できますか? 10月のajax apiやDBの変更イベントに応じて実装されるクラスがありますか? たとえば、現時点で他の誰かが変更を加えた場合は、プラグイン管理パネルのフィールドを更新する必要があります。 残念ながら、Real time chat pluginへのリンクが機能しません。 私の場合、チャットの解決策は必要ありません。私はそれを改造したくない。 DBにいくつかの変更があった場合に、更新する必要のあるファイルをマークするだけです。それが簡単な方法で実装されていれば素晴らしいだろう。さもなければ私はいくつかの長いポーリング/ websocket API /クラスを実装する必要があります。10月リアルタイムでのCMS更新データ

答えて

1

これを解決するには、Pusherを使用することをお勧めします。彼らは良い計画を立てています。実装するための手順は次のようになります。

  1. は、プライベートチャネルウィッヒ変更について通知されます作成

    window.pusher = new Pusher('APIKEY', { 
        cluster: 'eu',//some problems reported about eu cluster sometimes 
        authEndpoint: '/pusher/auth' 
    }); 
    
  2. プッシャーインスタンスを作成します。

    var channel = window.pusher.subscribe('private-notify'); 
    
  3. そのチャンネルを購読します。ここでは、あなたのインターフェースを変更する更新機能があります。 (3)から関数を呼び出すためにイベントをトリガー同じチャンネルに他のユーザによる変更に関するバックエンドから情報をプッシュ

    channel.bind('client-messagesent', function(data) { 
        //change your interface 
    }); 
    
  4. $pusher->trigger('private-notify', 'client-messagesent', $data); 
    

あなたは1つのCDNプッシャースクリプトを含める必要があります開始します。多くのチュートリアルはこちらhttps://pusher.com/tutorials

OctoberCMS用のPusherプラグインもありますが、プラス記号は多くの冗長なものを追加するため、プッシュすることをやめました。

+0

ありがとうございます。はい、これはFirebaseや他のサードパーティのリアルタイムデータサービスと同様、非常に単純な解決策です。しかし、私は組み込みのツールと独自のデータベースを使いたいと思います。これはもっと正しいアプローチだと思います。私の意見では、最も簡単な方法はoctoberのajax APIを拡張し、long-pollingメソッド(私の選択)を実装することです。より複雑なオプション - 10月とラチェットのようないくつかのwebsocketフレームワークを統合することです。 devsがこれを事前に処理していれば素晴らしいことでしょう。 –

+0

私はこの問題へのより多くのアプローチを見つけてうれしいです。より良いメソッドを実装する場合は、ここでいくつかの注釈を投稿してください。前もって感謝します) – Vdomah

関連する問題