十月CMS实时更新数据
Posted
技术标签:
【中文标题】十月CMS实时更新数据【英文标题】:October CMS update data in real time 【发布时间】:2017-03-23 09:21:45 【问题描述】:October CMS 是否有一些插件可以实时更新现场不同字段的数据?可能有一些 10 月的 ajax api 或类,其中它是根据 DB 更改事件实现的? 例如,如果此时其他人进行了更改,我需要更新插件管理面板中的字段。 不幸的是,链接到Real time chat plugin 不起作用。 但就我而言,我不需要聊天解决方案。我不想改造它。如果数据库相对于它们有一些变化,只需要标记应该更新的文件。如果它以简单的方式实现,那就太好了。否则我必须实现一些长轮询/websocket api/class。
【问题讨论】:
【参考方案1】:为了解决这个问题,我建议使用Pusher 他们有很好的免费计划。实施步骤是:
创建推送器实例
window.pusher = new Pusher('APIKEY',
cluster: 'eu',//some problems reported about eu cluster sometimes
authEndpoint: '/pusher/auth'
);
创建私人频道,它将通知您有关更改。
var channel = window.pusher.subscribe('private-notify');
订阅该频道。这里将使用更新功能来更改您的任何界面。
channel.bind('client-messagesent', function(data)
//change your interface
);
将有关其他用户更改的信息从后端推送到同一通道,触发事件以调用 (3) 中的函数。
$pusher->trigger('private-notify', 'client-messagesent', $data);
首先,您需要包含一个 CDN 推送脚本。这里有很多教程https://pusher.com/tutorials
OctoberCMS 也有 Pusher 插件,但我从头开始设置 pusher,因为那个 plusign 添加了很多多余的东西。
【讨论】:
感谢您的回答。是的,这是非常简单的解决方案以及 firebase 或其他一些第三方实时数据服务。但我想使用内置工具和自己的数据库,我认为这是更正确的方法。在我看来,最简单的方法是扩展 october 的 ajax api 并实现长轮询方法(我的选择)。更复杂的选择 - 是将 october 和一些 websocket 框架(如棘轮)结合在一起。如果开发人员提前解决这个问题,那就太好了。 我也很高兴能找到解决此问题的更多方法。如果您将实施一些更好的方法发布,请在此处进行一些注释。提前致谢)以上是关于十月CMS实时更新数据的主要内容,如果未能解决你的问题,请参考以下文章